diff --git a/app/main.ab824703902179d0a060.css b/app/main.d14101fcec5d9d14372b.css similarity index 99% rename from app/main.ab824703902179d0a060.css rename to app/main.d14101fcec5d9d14372b.css index 00b5493d..cf2d972b 100644 --- a/app/main.ab824703902179d0a060.css +++ b/app/main.d14101fcec5d9d14372b.css @@ -9695,4 +9695,4 @@ img.logo { .min-height-fix { min-height: 1px; } -/*# sourceMappingURL=main.ab824703902179d0a060.css.map*/ \ No newline at end of file +/*# sourceMappingURL=main.d14101fcec5d9d14372b.css.map*/ \ No newline at end of file diff --git a/app/main.ab824703902179d0a060.css.map b/app/main.d14101fcec5d9d14372b.css.map similarity index 58% rename from app/main.ab824703902179d0a060.css.map rename to app/main.d14101fcec5d9d14372b.css.map index eb07a558..aaebf59a 100644 --- a/app/main.ab824703902179d0a060.css.map +++ b/app/main.d14101fcec5d9d14372b.css.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"app/main.ab824703902179d0a060.css","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"app/main.d14101fcec5d9d14372b.css","sourceRoot":""} \ No newline at end of file diff --git a/app/main.ab824703902179d0a060.js b/app/main.d14101fcec5d9d14372b.js similarity index 99% rename from app/main.ab824703902179d0a060.js rename to app/main.d14101fcec5d9d14372b.js index 2c5d8e42..0abcd749 100644 --- a/app/main.ab824703902179d0a060.js +++ b/app/main.d14101fcec5d9d14372b.js @@ -1,2 +1,2 @@ -!function(n){function l(l){for(var t,i,r=l[0],a=l[1],s=l[2],c=0,p=[];c0&&this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),e[0]),e},n}();l.ValidationService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(17);var t=function(){function n(n,l){this.el=n,this.validationService=l}return n.prototype.ngOnChanges=function(n){var l=this;null!=this.appApiAction&&null!=this.appApiAction.then&&(this.el.nativeElement.loading=!0,this.appApiAction.then(function(n){l.el.nativeElement.loading=!1},function(n){l.el.nativeElement.loading=!1,l.validationService.showError(n)}))},n}();l.ApiActionDirective=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CryptoService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UserService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CipherService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.MessagingService=t},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.success=!1,this.ciphers=[],this.folders=[],this.folderRelationships=[],this.collections=[],this.collectionRelationships=[]}}();l.ImportResult=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(539),u=e(157),o=e(177),i=e(216),r=e(49),a=e(179),s=e(128),d=e(156),c=e(91),p=e(53),f=e(219),v=e(101),h=function(){function n(){this.organization=!1,this.newLineRegex=/(?:\r\n|\r|\n)/,this.passwordFieldNames=["password","pass word","passphrase","pass phrase","pass","code","code word","codeword","secret","secret word","personpwd","key","keyword","key word","keyphrase","key phrase","form_pw","wppassword","pin","pwd","pw","pword","passwd","p","serial","serial#","license key","reg #","passwort"],this.usernameFieldNames=["user","name","user name","username","login name","email","e-mail","id","userid","user id","login","form_loginname","wpname","mail","loginid","login id","log","personlogin","first name","last name","card#","account #","member","member #","nom","benutzername"],this.notesFieldNames=["note","notes","comment","comments","memo","description","free form","freeform","free text","freetext","free","kommentar"],this.uriFieldNames=["url","hyper link","hyperlink","link","host","hostname","host name","server","address","hyper ref","href","web","website","web site","site","web-site","uri","ort","adresse"]}return n.prototype.parseXml=function(n){var l=(new DOMParser).parseFromString(n,"application/xml");return null!=l&&null==l.querySelector("parsererror")?l:null},n.prototype.parseCsv=function(n,l){n=this.splitNewLine(n).join("\n").trim();var e=t.parse(n,{header:l,encoding:"UTF-8",skipEmptyLines:!1});return null!=e.errors&&e.errors.length>0&&e.errors.forEach(function(n){console.warn("Error parsing row "+n.row+": "+n.message)}),e.data&&e.data.length>0?e.data:null},n.prototype.parseSingleRowCsv=function(n){if(this.isNullOrWhitespace(n))return null;var l=this.parseCsv(n,!1);return null!=l&&l.length>0&&l[0].length>0?l[0]:null},n.prototype.makeUriArray=function(n){var l=this;if(null==n)return null;if("string"==typeof n){var e=new i.LoginUriView;return e.uri=this.fixUri(n),this.isNullOrWhitespace(e.uri)?null:(e.match=null,[e])}if(n.length>0){var t=[];return n.forEach(function(n){var e=new i.LoginUriView;e.uri=l.fixUri(n),l.isNullOrWhitespace(e.uri)||(e.match=null,t.push(e))}),0===t.length?null:t}return null},n.prototype.fixUri=function(n){return null==n?null:(-1===(n=n.toLowerCase().trim()).indexOf("://")&&n.indexOf(".")>=0&&(n="http://"+n),n.length>1e3?n.substring(0,1e3):n)},n.prototype.nameFromUrl=function(n){var l=r.Utils.getHostname(n);return this.isNullOrWhitespace(l)?null:l.startsWith("www.")?l.replace("www.",""):l},n.prototype.isNullOrWhitespace=function(n){return null==n||""===n.trim()},n.prototype.getValueOrDefault=function(n,l){return void 0===l&&(l=null),this.isNullOrWhitespace(n)?l:n},n.prototype.splitNewLine=function(n){return n.split(this.newLineRegex)},n.prototype.getCardBrand=function(n){if(this.isNullOrWhitespace(n))return null;var l=new RegExp("^4");return null!=n.match(l)?"Visa":/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/.test(n)?"Mastercard":(l=new RegExp("^3[47]"),null!=n.match(l)?"Amex":(l=new RegExp("^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)"),null!=n.match(l)?"Discover":(l=new RegExp("^36"),null!=n.match(l)?"Diners Club":(l=new RegExp("^30[0-5]"),null!=n.match(l)?"Diners Club":(l=new RegExp("^35(2[89]|[3-8][0-9])"),null!=n.match(l)?"JCB":(l=new RegExp("^(4026|417500|4508|4844|491(3|7))"),null!=n.match(l)?"Visa":null))))))},n.prototype.moveFoldersToCollections=function(n){n.folderRelationships.forEach(function(l){return n.collectionRelationships.push(l)}),n.collections=n.folders.map(function(n){var l=new o.CollectionView;return l.name=n.name,l}),n.folderRelationships=[],n.folders=[]},n.prototype.querySelectorDirectChild=function(n,l){var e=this.querySelectorAllDirectChild(n,l);return 0===e.length?null:e[0]},n.prototype.querySelectorAllDirectChild=function(n,l){return Array.from(n.querySelectorAll(l)).filter(function(l){return l.parentNode===n})},n.prototype.initLoginCipher=function(){var n=new u.CipherView;return n.favorite=!1,n.notes="",n.fields=[],n.login=new d.LoginView,n.type=p.CipherType.Login,n},n.prototype.cleanupCipher=function(n){null!=n&&(n.type!==p.CipherType.Login&&(n.login=null),this.isNullOrWhitespace(n.name)&&(n.name="--"),this.isNullOrWhitespace(n.notes)?n.notes=null:n.notes=n.notes.trim(),null!=n.fields&&0===n.fields.length&&(n.fields=null))},n.prototype.processKvp=function(n,l,e){if(!this.isNullOrWhitespace(e))if(this.isNullOrWhitespace(l)&&(l=""),e.length>200||e.trim().search(this.newLineRegex)>-1)null==n.notes&&(n.notes=""),n.notes+=l+": "+this.splitNewLine(e).join("\n")+"\n";else{null==n.fields&&(n.fields=[]);var t=new a.FieldView;t.type=f.FieldType.Text,t.name=l,t.value=e,n.fields.push(t)}},n.prototype.processFolder=function(n,l){var e=n.folders.length,t=!this.isNullOrWhitespace(l),u=t;if(t)for(var o=0;o-1&&(n="http://"+n),n.startsWith("http://")||n.startsWith("https://"))try{if(null!=o)return new o(n);if("function"==typeof URL)return new URL(n);if(null!=window){var l=window.document.createElement("a");return l.href=n,l}}catch(n){}return null},l.inited=!1,l.isNode=!1,l.isBrowser=!0,l.global=null,l}();l.Utils=i,i.init()}).call(this,e(223),e(103),e(295).Buffer)},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.FolderService=t},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Login=1]="Login",n[n.SecureNote=2]="SecureNote",n[n.Card=3]="Card",n[n.Identity=4]="Identity"}(l.CipherType||(l.CipherType={}))},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.preventDefault()},n}();l.StopClickDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StateService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SyncService=t},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordVerificationRequest=t},,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Authenticator=0]="Authenticator",n[n.Email=1]="Email",n[n.Duo=2]="Duo",n[n.Yubikey=3]="Yubikey",n[n.U2f=4]="U2f",n[n.Remember=5]="Remember",n[n.OrganizationDuo=6]="OrganizationDuo"}(l.TwoFactorProviderType||(l.TwoFactorProviderType={}))},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n){this.el=n}return Object.defineProperty(n.prototype,"appAutofocus",{set:function(n){this.autofocus=""===n||!0===n},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){this.autofocus&&this.el.nativeElement.focus()},n}();l.AutofocusDirective=t},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){n&&(this.type=n.type)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){return null},enumerable:!0,configurable:!0}),n}();l.SecureNoteView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.stopPropagation()},n}();l.StopPropDirective=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(225),i=(e(0),function(n){function l(l){var e=n.call(this,l)||this;return e.el=null,e}return u(l,n),l.prototype.ngOnDestroy=function(){},l.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.parentContainer=l,this.fade=e;var u=this.componentFactoryResolver.resolveComponentFactory(n),i=this.container.createComponent(u),r=Array.from(document.querySelectorAll(".modal"));return r.length>0&&(this.el=o(r[0]),this.el.modal("show"),this.el.on("show.bs.modal",function(){t.onShow.emit()}),this.el.on("shown.bs.modal",function(){t.onShown.emit(),t.el.find("*[appAutoFocus]").focus()}),this.el.on("hide.bs.modal",function(){t.onClose.emit()}),this.el.on("hidden.bs.modal",function(){t.onClosed.emit(),null!=t.parentContainer&&t.parentContainer.clear()})),i.instance},l.prototype.close=function(){null!=this.el&&this.el.modal("hide")},l}(e(837).ModalComponent));l.ModalComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordGenerationService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuthService=t},,,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?n[i]=r||null:n[i]=r?new o.CipherString(r):null}},n.prototype.buildDataModel=function(n,l,e,t){for(var u in void 0===t&&(t=[]),e)if(e.hasOwnProperty(u)){var o=n[e[u]||u];t.indexOf(u)>-1?l[u]=null!=o?o:null:l[u]=null!=o?o.encryptedString:null}},n.prototype.decryptObj=function(n,l,e){return t(this,void 0,void 0,function(){var t,o,i;return u(this,function(u){switch(u.label){case 0:for(i in t=[],o=this,l)l.hasOwnProperty(i)&&function(u){var i=Promise.resolve().then(function(){var n=l[u]||u;return o[n]?o[n].decrypt(e):null}).then(function(l){n[u]=l});t.push(i)}(i);return[4,Promise.all(t)];case 1:return u.sent(),[2,n]}})})},n}();l.default=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Generic=0]="Generic"}(l.SecureNoteType||(l.SecureNoteType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.environmentUrlsKey=n.environmentUrlsKey,this.disableGaKey=n.disableGaKey,this.disableAddLoginNotificationKey=n.disableAddLoginNotificationKey,this.disableContextMenuItemKey=n.disableContextMenuItemKey,this.disableFaviconKey=n.disableFaviconKey,this.disableAutoTotpCopyKey=n.disableAutoTotpCopyKey,this.enableAutoFillOnPageLoadKey=n.enableAutoFillOnPageLoadKey,this.lockOptionKey=n.lockOptionKey,this.lastActiveKey=n.lastActiveKey,this.neverDomainsKey=n.neverDomainsKey,this.installedVersionKey=n.installedVersionKey,this.localeKey=n.localeKey,this.themeKey=n.themeKey}return n.environmentUrlsKey="environmentUrls",n.disableGaKey="disableGa",n.disableAddLoginNotificationKey="disableAddLoginNotification",n.disableContextMenuItemKey="disableContextMenuItem",n.disableFaviconKey="disableFavicon",n.disableAutoTotpCopyKey="disableAutoTotpCopy",n.enableAutoFillOnPageLoadKey="enableAutoFillOnPageLoad",n.lockOptionKey="lockOption",n.lastActiveKey="lastActive",n.neverDomainsKey="neverDomains",n.installedVersionKey="installedVersion",n.localeKey="locale",n.themeKey="theme",n}();l.ConstantsService=t},,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(53),u=e(536),o=e(535),i=e(534),r=e(533),a=e(532),s=e(530),d=function(){return function(n,l,e){var d=this;if(null!=n){switch(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.userId=l,this.edit=n.edit,this.organizationUseTotp=n.organizationUseTotp,this.favorite=n.favorite,this.revisionDate=n.revisionDate,this.type=n.type,this.name=n.name,this.notes=n.notes,this.collectionIds=null!=e?e:n.collectionIds,this.type){case t.CipherType.Login:this.login=new a.LoginData(n.login);break;case t.CipherType.SecureNote:this.secureNote=new s.SecureNoteData(n.secureNote);break;case t.CipherType.Card:this.card=new o.CardData(n.card);break;case t.CipherType.Identity:this.identity=new r.IdentityData(n.identity)}null!=n.fields&&(this.fields=[],n.fields.forEach(function(n){d.fields.push(new i.FieldData(n))})),null!=n.attachments&&(this.attachments=[],n.attachments.forEach(function(n){d.attachments.push(new u.AttachmentData(n))}))}}}();l.CipherData=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.expMonth=null,this._brand=null}return Object.defineProperty(n.prototype,"maskedCode",{get:function(){return null!=this.code?"•".repeat(this.code.length):null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"brand",{get:function(){return this._brand},set:function(n){this._brand=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"number",{get:function(){return this._number},set:function(n){this._number=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null==this._subTitle&&(this._subTitle=this.brand,null!=this.number&&this.number.length>=4&&(null!=this._subTitle&&""!==this._subTitle?this._subTitle+=", ":this._subTitle="",this._subTitle+="*"+this.number.substr(this.number.length-4))),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"expiration",{get:function(){if(!this.expMonth&&!this.expYear)return null;var n=null!=this.expMonth?("0"+this.expMonth).slice(-2):"__";return n+=" / "+(null!=this.expYear?this.formatYear(this.expYear):"____")},enumerable:!0,configurable:!0}),n.prototype.formatYear=function(n){return 2===n.length?"20"+n:n},n}();l.CardView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(42);var t=function(){function n(n){this.sanitizer=n,this.width=45,this.height=45,this.charCount=2,this.textColor="#ffffff",this.fontSize=20,this.fontWeight=300,this.dynamic=!1,this.circle=!1}return n.prototype.ngOnInit=function(){this.dynamic||this.generate()},n.prototype.ngOnChanges=function(){this.dynamic&&this.generate()},n.prototype.generate=function(){var n=null,l=this.data.toUpperCase();this.charCount>1&&(n=this.getFirstLetters(l,this.charCount)),null==n&&(n=l.substr(0,this.charCount));var e=this.getCharText(n),t=this.stringToColor(l),u=this.getSvg(this.width,this.height,t);u.appendChild(e);var o=window.document.createElement("div").appendChild(u).outerHTML,i=window.btoa(unescape(encodeURIComponent(o)));this.src="data:image/svg+xml;base64,"+i},n.prototype.stringToColor=function(n){for(var l=0,e=0;e>8*e&255).toString(16)).substr(-2)}return t},n.prototype.getFirstLetters=function(n,l){var e=n.split(" ");if(e.length>1){for(var t="",u=0;u0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&window.document.body.removeChild(n)}),!this.hidePaypal){window.document.head.removeChild(this.btScript);var n=window.document.head.querySelector("#braintree-dropin-stylesheet");null!=n&&window.document.head.removeChild(n)}},n.prototype.changeMethod=function(){var n=this;"paypal"===this.method?window.setTimeout(function(){window.braintree.dropin.create({authorization:n.platformUtilsService.isDev()?t.btSandbox:t.btProduction,container:"#bt-dropin-container",paymentOptionPriority:["paypal"],paypal:{flow:"vault",buttonStyle:{label:"pay",size:"medium",shape:"pill",color:"blue"}}},function(l,e){null==l?n.btInstance=e:console.error(l)})},250):this.btInstance=null},n.prototype.createPaymentToken=function(){var n=this;return new Promise(function(l,e){if("paypal"===n.method)n.btInstance.requestPaymentMethod().then(function(n){l(n.nonce)}).catch(function(n){e(n.message)});else if("card"===n.method||"bank"===n.method){var t="card"===n.method?window.Stripe.card:window.Stripe.bankAccount,u="card"===n.method?n.card:n.bank;t.createToken(u,function(n,t){200===n&&null!=t.id?l(t.id):null!=t.error?e(t.error.message):e()})}})},n.prototype.getCountry=function(){return this.card.address_country},n}();l.PaymentComponent=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=null,n&&(this.id=n.id)}}();l.FolderView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuditService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(116),i=e(42),r=t.ɵcrt({encapsulation:2,styles:[],data:{}});function a(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"img",[],[[8,"src",4],[8,"title",0]],null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{"rounded-circle":0})],function(n,l){n(l,1,0,n(l,2,0,l.component.circle))},function(n,l){var e=l.component;n(l,0,0,e.sanitizer.bypassSecurityTrustResourceUrl(e.src),t.ɵinlineInterpolate(1,"",e.data,""))})}function s(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-avatar",[],null,null,null,a,r)),t.ɵdid(1,638976,null,0,o.AvatarComponent,[i.DomSanitizer],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AvatarComponent=r,l.View_AvatarComponent_0=a,l.View_AvatarComponent_Host_0=s;var d=t.ɵccf("app-avatar",o.AvatarComponent,s,{data:"data",width:"width",height:"height",charCount:"charCount",textColor:"textColor",fontSize:"fontSize",fontWeight:"fontWeight",dynamic:"dynamic",circle:"circle"},{},[]);l.AvatarComponentNgFactory=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.EnvironmentService=t},,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(17),s=e(46),d=e(125),c=e(4),p=e(9),f=e(20),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,43,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,19,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appAutoFocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,i.NgModel,[[2,i.ControlContainer],[2,i.NG_VALIDATORS],[8,null],[2,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(24,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),t.ɵdid(25,81920,null,0,s.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"");n(l,22,0,"MasterPasswordHash",e.masterPassword);n(l,25,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLoginAuthDesc"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"masterPass"))),n(l,17,0,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,30,0,t.ɵnov(l,1).loading),n(l,32,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"loading")),"")),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"continue"))),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l,0),"close")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-verify",[],null,null,null,h,v)),t.ɵdid(1,49152,null,0,d.TwoFactorVerifyComponent,[c.ApiService,o.I18nService,p.ToasterService,f.CryptoService],null,null)],null,null)}l.RenderType_TwoFactorVerifyComponent=v,l.View_TwoFactorVerifyComponent_0=h,l.View_TwoFactorVerifyComponent_Host_0=g;var m=t.ɵccf("app-two-factor-verify",d.TwoFactorVerifyComponent,g,{type:"type",organizationId:"organizationId"},{onAuthed:"onAuthed"},[]);l.TwoFactorVerifyComponentNgFactory=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?(a=[],[4,this.attachments.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){a.push(n)})},Promise.resolve())]):[3,13];case 12:i.sent(),n.attachments=a,i.label=13;case 13:return null!=this.fields&&this.fields.length>0?(d=[],[4,this.fields.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){d.push(n)})},Promise.resolve())]):[3,15];case 14:i.sent(),n.fields=d,i.label=15;case 15:return[2,n]}})})},l.prototype.toCipherData=function(n){var l=new a.CipherData;switch(l.id=this.id,l.organizationId=this.organizationId,l.folderId=this.folderId,l.userId=null!=this.organizationId?n:null,l.edit=this.edit,l.organizationUseTotp=this.organizationUseTotp,l.favorite=this.favorite,l.revisionDate=this.revisionDate,l.type=this.type,l.collectionIds=this.collectionIds,this.buildDataModel(this,l,{name:null,notes:null}),l.type){case r.CipherType.Login:l.login=this.login.toLoginData();break;case r.CipherType.SecureNote:l.secureNote=this.secureNote.toSecureNoteData();break;case r.CipherType.Card:l.card=this.card.toCardData();break;case r.CipherType.Identity:l.identity=this.identity.toIdentityData()}return null!=this.fields&&(l.fields=[],this.fields.forEach(function(n){l.fields.push(n.toFieldData())})),null!=this.attachments&&(l.attachments=[],this.attachments.forEach(function(n){l.attachments.push(n.toAttachmentData())})),l},l}(p.default);l.Cipher=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(177),i=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{id:null,organizationId:null,name:null,readOnly:null},e,["id","organizationId","readOnly"]),t)}return u(l,n),l.prototype.decrypt=function(){return this.decryptObj(new o.CollectionView(this),{name:null},this.organizationId)},l}(e(100).default);l.Collection=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){}return Object.defineProperty(n.prototype,"uri",{get:function(){return this.hasUris?this.uris[0].uri:null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"maskedPassword",{get:function(){return null!=this.password?"••••••••":null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return this.username},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"canLaunch",{get:function(){return this.hasUris&&this.uris[0].canLaunch},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasUris",{get:function(){return null!=this.uris&&this.uris.length>0},enumerable:!0,configurable:!0}),n}();l.LoginView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(53),u=function(){function n(n){this.favorite=!1,this.organizationUseTotp=!1,this.edit=!1,n&&(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.favorite=n.favorite,this.organizationUseTotp=n.organizationUseTotp,this.edit=n.edit,this.type=n.type,this.localData=n.localData,this.collectionIds=n.collectionIds)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){switch(this.type){case t.CipherType.Login:return this.login.subTitle;case t.CipherType.SecureNote:return this.secureNote.subTitle;case t.CipherType.Card:return this.card.subTitle;case t.CipherType.Identity:return this.identity.subTitle}return null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasAttachments",{get:function(){return this.attachments&&this.attachments.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasFields",{get:function(){return this.fields&&this.fields.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"login_username",{get:function(){return null!=this.login?this.login.username:null},enumerable:!0,configurable:!0}),n}();l.CipherView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(53),u=function(){return function(n){var l=this;switch(this.type=n.type,this.folderId=n.folderId,this.organizationId=n.organizationId,this.name=n.name?n.name.encryptedString:null,this.notes=n.notes?n.notes.encryptedString:null,this.favorite=n.favorite,this.type){case t.CipherType.Login:this.login={uris:null,username:n.login.username?n.login.username.encryptedString:null,password:n.login.password?n.login.password.encryptedString:null,totp:n.login.totp?n.login.totp.encryptedString:null},n.login.uris&&(this.login.uris=[],n.login.uris.forEach(function(n){l.login.uris.push({uri:n.uri?n.uri.encryptedString:null,match:null!=n.match?n.match:null})}));break;case t.CipherType.SecureNote:this.secureNote={type:n.secureNote.type};break;case t.CipherType.Card:this.card={cardholderName:n.card.cardholderName?n.card.cardholderName.encryptedString:null,brand:n.card.brand?n.card.brand.encryptedString:null,number:n.card.number?n.card.number.encryptedString:null,expMonth:n.card.expMonth?n.card.expMonth.encryptedString:null,expYear:n.card.expYear?n.card.expYear.encryptedString:null,code:n.card.code?n.card.code.encryptedString:null};break;case t.CipherType.Identity:this.identity={title:n.identity.title?n.identity.title.encryptedString:null,firstName:n.identity.firstName?n.identity.firstName.encryptedString:null,middleName:n.identity.middleName?n.identity.middleName.encryptedString:null,lastName:n.identity.lastName?n.identity.lastName.encryptedString:null,address1:n.identity.address1?n.identity.address1.encryptedString:null,address2:n.identity.address2?n.identity.address2.encryptedString:null,address3:n.identity.address3?n.identity.address3.encryptedString:null,city:n.identity.city?n.identity.city.encryptedString:null,state:n.identity.state?n.identity.state.encryptedString:null,postalCode:n.identity.postalCode?n.identity.postalCode.encryptedString:null,country:n.identity.country?n.identity.country.encryptedString:null,company:n.identity.company?n.identity.company.encryptedString:null,email:n.identity.email?n.identity.email.encryptedString:null,phone:n.identity.phone?n.identity.phone.encryptedString:null,ssn:n.identity.ssn?n.identity.ssn.encryptedString:null,username:n.identity.username?n.identity.username.encryptedString:null,passportNumber:n.identity.passportNumber?n.identity.passportNumber.encryptedString:null,licenseNumber:n.identity.licenseNumber?n.identity.licenseNumber.encryptedString:null}}n.fields&&(this.fields=[],n.fields.forEach(function(n){l.fields.push({type:n.type,name:n.name?n.name.encryptedString:null,value:n.value?n.value.encryptedString:null})})),n.attachments&&(this.attachments={},n.attachments.forEach(function(n){l.attachments[n.id]=n.fileName?n.fileName.encryptedString:null}))}}();l.CipherRequest=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Android=0]="Android",n[n.iOS=1]="iOS",n[n.ChromeExtension=2]="ChromeExtension",n[n.FirefoxExtension=3]="FirefoxExtension",n[n.OperaExtension=4]="OperaExtension",n[n.EdgeExtension=5]="EdgeExtension",n[n.WindowsDesktop=6]="WindowsDesktop",n[n.MacOsDesktop=7]="MacOsDesktop",n[n.LinuxDesktop=8]="LinuxDesktop",n[n.ChromeBrowser=9]="ChromeBrowser",n[n.FirefoxBrowser=10]="FirefoxBrowser",n[n.OperaBrowser=11]="OperaBrowser",n[n.EdgeBrowser=12]="EdgeBrowser",n[n.IEBrowser=13]="IEBrowser",n[n.UnknownBrowser=14]="UnknownBrowser",n[n.AndroidAmazon=15]="AndroidAmazon",n[n.UWP=16]="UWP",n[n.SafariBrowser=17]="SafariBrowser",n[n.VivaldiBrowser=18]="VivaldiBrowser",n[n.VivaldiExtension=19]="VivaldiExtension",n[n.SafariExtension=20]="SafariExtension"}(l.DeviceType||(l.DeviceType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.subscribers=new Map}return n.prototype.send=function(n,l){null==l?this.subscribers.forEach(function(l){l(n)}):this.subscribers.has(l)&&this.subscribers.get(l)(n)},n.prototype.subscribe=function(n,l){this.subscribers.has(n)||this.subscribers.set(n,l)},n.prototype.unsubscribe=function(n){this.subscribers.has(n)&&this.subscribers.delete(n)},n}();l.BroadcasterService=t},,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Owner=0]="Owner",n[n.Admin=1]="Admin",n[n.User=2]="User"}(l.OrganizationUserType||(l.OrganizationUserType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(2);var t=e(159),u=e(727),o=function(){function n(n){this.i18nService=n}return n.prototype.getDefaultDateFilters=function(){var n=new Date,l=new Date(n.getFullYear(),n.getMonth(),n.getDate(),23,59);n.setDate(n.getDate()-30);var e=new Date(n.getFullYear(),n.getMonth(),n.getDate(),0,0);return[this.toDateTimeLocalString(e),this.toDateTimeLocalString(l)]},n.prototype.formatDateFilters=function(n,l){var e=new Date(n),t=new Date(l+":59.999");if(isNaN(e.getTime())||isNaN(t.getTime())||t"+e+"";var t=this.makeAnchor(e);return t.setAttribute("href","#/organizations/"+n.organizationId+"/vault?search="+e+"&viewEvents="+n.cipherId),t.outerHTML},n.prototype.formatGroupId=function(n){var l=this.getShortId(n.groupId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/groups?search="+l),e.outerHTML},n.prototype.formatCollectionId=function(n){var l=this.getShortId(n.collectionId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/collections?search="+l),e.outerHTML},n.prototype.formatOrgUserId=function(n){var l=this.getShortId(n.organizationUserId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/people?search="+l+"&viewEvents="+n.organizationUserId),e.outerHTML},n.prototype.makeAnchor=function(n){var l=document.createElement("a");return l.title=this.i18nService.t("view"),l.innerHTML=""+n+"",l},n.prototype.getShortId=function(n){return n.substring(0,8)},n.prototype.toDateTimeLocalString=function(n){return n.getFullYear()+"-"+this.pad(n.getMonth()+1)+"-"+this.pad(n.getDate())+"T"+this.pad(n.getHours())+":"+this.pad(n.getMinutes())},n.prototype.pad=function(n){var l=Math.floor(Math.abs(n));return(l<10?"0":"")+l},n}();l.EventService=o;var i=function(){return function(){}}();l.EventInfo=i;var r=function(){return function(){this.cipherInfo=!0}}();l.EventOptions=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.ExportService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){n&&(this.id=n.id,this.organizationId=n.organizationId,this.readOnly=n.readOnly)}}();l.CollectionView=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0))return[3,4];u.label=1;case 1:return u.trys.push([1,3,,4]),[4,this.getFileContents(e[0])];case 2:return null!=(o=u.sent())&&(t=o),[3,4];case 3:return u.sent(),[3,4];case 4:return null==t||""===t?(this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),[2]):[4,n.parse(t)];case 5:if(!(i=u.sent()).success)return[3,10];if(0===i.folders.length&&0===i.ciphers.length)return this.error(this.i18nService.t("importNothingError")),[2];if(i.ciphers.length>0&&(r=Math.floor(i.ciphers.length/2),a=i.ciphers.length-1,this.badData(i.ciphers[0])&&this.badData(i.ciphers[r])&&this.badData(i.ciphers[a])))return this.error(this.i18nService.t("importFormatError")),[2];u.label=6;case 6:return u.trys.push([6,8,,9]),this.formPromise=this.postImport(i),[4,this.formPromise];case 7:return u.sent(),this.analytics.eventTrack.next({action:"Imported Data",properties:{label:this.format}}),this.toasterService.popAsync("success",null,this.i18nService.t("importSuccess")),this.router.navigate(this.successNavigate),[3,9];case 8:return u.sent(),[3,9];case 9:return[3,11];case 10:this.error(this.i18nService.t("importFormatError")),u.label=11;case 11:return[2]}})})},n.prototype.getFormatInstructionTitle=function(){var n=this;if(null==this.format)return null;var l=this.featuredImportOptions.concat(this.importOptions).filter(function(l){return l.id===n.format});return l.length>0?this.i18nService.t("instructionsFor",l[0].name):null},n.prototype.postImport=function(n){return t(this,void 0,void 0,function(){var l,e,t,s;return u(this,function(u){switch(u.label){case 0:l=new r.ImportCiphersRequest,t=0,u.label=1;case 1:return t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1},enumerable:!0,configurable:!0}),n}();l.LoginUriView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.title=null}return Object.defineProperty(n.prototype,"firstName",{get:function(){return this._firstName},set:function(n){this._firstName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"lastName",{get:function(){return this._lastName},set:function(n){this._lastName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null!=this._subTitle||null==this.firstName&&null==this.lastName||(this._subTitle="",null!=this.firstName&&(this._subTitle=this.firstName),null!=this.lastName&&(""!==this._subTitle&&(this._subTitle+=" "),this._subTitle+=this.lastName)),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"fullName",{get:function(){if(null!=this.title||null!=this.firstName||null!=this.middleName||null!=this.lastName){var n="";return null!=this.title&&(n+=this.title+" "),null!=this.firstName&&(n+=this.firstName+" "),null!=this.middleName&&(n+=this.middleName+" "),null!=this.lastName&&(n+=this.lastName),n.trim()}return null},enumerable:!0,configurable:!0}),n}();l.IdentityView=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]500?500:this.ciphers.length,e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]t){if(o===i.TwoFactorProviderType.U2f&&!n)return;e=o,t=r.priority}}),e},n.prototype.logInHelper=function(n,l,e,t,c,p){return u(this,void 0,void 0,function(){var u,f,v,h,g,m,y,C,b,S;return o(this,function(o){switch(o.label){case 0:return[4,this.tokenService.getTwoFactorToken(n)];case 1:return u=o.sent(),[4,this.appIdService.getAppId()];case 2:return f=o.sent(),v=new a.DeviceRequest(f,this.platformUtilsService),h=null!=c&&null!=t?new d.TokenRequest(n,l,t,c,p,v):null!=u?new d.TokenRequest(n,l,i.TwoFactorProviderType.Remember,u,!1,v):new d.TokenRequest(n,l,null,null,!1,v),[4,this.apiService.postIdentityToken(h)];case 3:return g=o.sent(),this.clearState(),(m=new r.AuthResult).twoFactor=!g.accessToken,m.twoFactor?(y=g,this.email=n,this.masterPasswordHash=l,this.key=this.setCryptoKeys?e:null,this.twoFactorProviders=y.twoFactorProviders2,m.twoFactorProviders=y.twoFactorProviders2,[2,m]):(null!=(C=g).twoFactorToken&&this.tokenService.setTwoFactorToken(C.twoFactorToken,n),[4,this.tokenService.setTokens(C.accessToken,C.refreshToken)]);case 4:return o.sent(),[4,this.userService.setUserIdAndEmail(this.tokenService.getUserId(),this.tokenService.getEmail())];case 5:return o.sent(),this.setCryptoKeys?[4,this.cryptoService.setKey(e)]:[3,15];case 6:return o.sent(),[4,this.cryptoService.setKeyHash(l)];case 7:return o.sent(),[4,this.cryptoService.setEncKey(C.key)];case 8:if(o.sent(),null!=C.privateKey)return[3,13];o.label=9;case 9:return o.trys.push([9,12,,13]),[4,this.cryptoService.makeKeyPair()];case 10:return b=o.sent(),[4,this.apiService.postAccountKeys(new s.KeysRequest(b[0],b[1].encryptedString))];case 11:return o.sent(),C.privateKey=b[1].encryptedString,[3,13];case 12:return S=o.sent(),console.error(S),[3,13];case 13:return[4,this.cryptoService.setEncPrivateKey(C.privateKey)];case 14:o.sent(),o.label=15;case 15:return this.messagingService.send("loggedIn"),[2,m]}})})},n.prototype.clearState=function(){this.email=null,this.masterPasswordHash=null,this.twoFactorProviders=null,this.selectedTwoFactorProviderType=null},n}();l.AuthService=c},,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=n.Id,this.readOnly=n.ReadOnly}}();l.SelectionReadOnlyResponse=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&l[0].status===i.OrganizationUserStatusType.Confirmed&&this.events(l[0]),[2]})})}),[2]}})})}),[2]})})},n.prototype.load=function(){return t(this,void 0,void 0,function(){var n,l=this;return u(this,function(e){switch(e.label){case 0:return[4,this.apiService.getOrganizationUsers(this.organizationId)];case 1:return n=e.sent(),this.statusMap.clear(),this.allUsers=null!=n.data&&n.data.length>0?n.data:[],this.allUsers.sort(a.Utils.getSortFunction(this.i18nService,"email")),this.allUsers.forEach(function(n){l.statusMap.has(n.status)?l.statusMap.get(n.status).push(n):l.statusMap.set(n.status,[n])}),this.filter(this.status),this.loading=!1,[2]}})})},n.prototype.filter=function(n){this.status=n,null!=this.status?this.users=this.statusMap.get(this.status):this.users=this.allUsers},Object.defineProperty(n.prototype,"invitedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Invited)?this.statusMap.get(i.OrganizationUserStatusType.Invited).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"acceptedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Accepted)?this.statusMap.get(i.OrganizationUserStatusType.Accepted).length:0},enumerable:!0,configurable:!0}),n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(c.UserAddEditComponent,this.addEditModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedUser.subscribe(function(){l.modal.close(),l.removeUser(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.invite=function(){this.edit(null)},n.prototype.groups=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.groupsModalRef.createComponent(e).instance;var t=this.modal.show(p.UserGroupsComponent,this.groupsModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close()}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.remove=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),n.name||n.email,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteOrganizationUser(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",n.name||n.email)),this.removeUser(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.reinvite=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.apiService.postOrganizationUserReinvite(this.organizationId,n.id),[4,this.actionPromise]);case 1:return l.sent(),this.analytics.eventTrack.next({action:"Reinvited User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenReinvited",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.confirm=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.doConfirmation(n),[4,this.actionPromise]);case 1:return l.sent(),n.status=i.OrganizationUserStatusType.Confirmed,this.analytics.eventTrack.next({action:"Confirmed User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenConfirmed",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.events=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(d.EntityEventsComponent,this.eventsModalRef)).name=n.name||n.email,e.organizationId=this.organizationId,e.entityId=n.id,e.showUser=!1,e.entity="user",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.doConfirmation=function(n){return t(this,void 0,void 0,function(){var l,e,t,i,r;return u(this,function(u){switch(u.label){case 0:return[4,this.cryptoService.getOrgKey(this.organizationId)];case 1:return l=u.sent(),[4,this.apiService.getUserPublicKey(n.userId)];case 2:return e=u.sent(),t=a.Utils.fromB64ToArray(e.publicKey),[4,this.cryptoService.rsaEncrypt(l.key,t.buffer)];case 3:return i=u.sent(),(r=new o.OrganizationUserConfirmRequest).key=i.encryptedString,[4,this.apiService.postOrganizationUserConfirm(this.organizationId,n.id,r)];case 4:return u.sent(),[2]}})})},n.prototype.removeUser=function(n){var l=this.users.indexOf(n);l>-1&&this.users.splice(l,1)},n}();l.PeopleComponent=f},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?n.data:[]).sort(o.Utils.getSortFunction(this.i18nService,"name")),this.groups=l,this.loading=!1,[2]}})})},n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(i.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(a.GroupAddEditComponent,this.addEditModalRef);t.organizationId=this.organizationId,t.groupId=null!=n?n.id:null,t.onSavedGroup.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedGroup.subscribe(function(){l.modal.close(),l.removeGroup(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.add=function(){this.edit(null)},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),n.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteGroup(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",n.name)),this.removeGroup(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.users=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(i.ModalComponent);this.modal=this.usersModalRef.createComponent(e).instance;var t=this.modal.show(r.EntityUsersComponent,this.usersModalRef);t.organizationId=this.organizationId,t.entity="group",t.entityId=n.id,t.entityName=n.name,this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.removeGroup=function(n){var l=this.groups.indexOf(n);l>-1&&this.groups.splice(l,1)},n}();l.GroupsComponent=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EventsComponent=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Invited=0]="Invited",n[n.Accepted=1]="Accepted",n[n.Confirmed=2]="Confirmed"}(l.OrganizationUserStatusType||(l.OrganizationUserStatusType={}))},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.users.splice(l,1),[3,8];case 7:return e.sent(),[3,8];case 8:return[2]}})})},n}();l.EntityUsersComponent=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.id=n,this.readOnly=l}}();l.SelectionReadOnlyRequest=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.collections.splice(l,1)},n}();l.CollectionsComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.transform=function(n,l,e,t,u){return null==n||0===n.length?[]:null==l||l.length<2?n:(l=l.trim().toLowerCase(),n.filter(function(n){return null!=e&&null!=n[e]&&n[e].toString().toLowerCase().indexOf(l)>-1||(null!=t&&null!=n[t]&&n[t].toString().toLowerCase().indexOf(l)>-1||null!=u&&null!=n[u]&&n[u].toString().toLowerCase().indexOf(l)>-1)}))},n}();l.SearchPipe=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EntityEventsComponent=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.viewEvents(e[0]),[2]}})})}),[2]}})})})},n.prototype.clearGroupingFilters=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchVault"),[4,this.ciphersComponent.applyFilter()];case 1:return n.sent(),this.clearFilters(),this.go(),[2]}})})},n.prototype.filterCipherType=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchType"),e=function(l){return l.type===n},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.type=n,this.go(),[2]}})})},n.prototype.filterCollection=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchCollection"),e=function(l){return"unassigned"===n?null==l.collectionIds||0===l.collectionIds.length:l.collectionIds.indexOf(n)>-1},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n},n.prototype.editCipherAttachments=function(n){var l=this;if(null!=this.organization.maxStorageGb&&0!==this.organization.maxStorageGb){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.attachmentsModalRef.createComponent(e).instance;var i=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef);i.organization=this.organization,i.cipherId=n.id;var r=!1;i.onUploadedAttachment.subscribe(function(){return r=!0}),i.onDeletedAttachment.subscribe(function(){return r=!0}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,r?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return r=!1,[2]}})})})}else this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var i=this.modal.show(s.CollectionsComponent,this.collectionsModalRef);this.organization.isAdmin&&(i.collectionIds=n.collectionIds,i.collections=this.groupingsComponent.collections.filter(function(n){return!n.readOnly})),i.organization=this.organization,i.cipherId=n.id,i.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addCipher=function(){this.editCipher(null).type=this.type},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var i=this.modal.show(r.AddEditComponent,this.cipherAddEditModalRef);return i.organization=this.organization,i.cipherId=null==n?null:n.id,i.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),i.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),i},n.prototype.viewEvents=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(i.EntityEventsComponent,this.eventsModalRef)).name=n.name,e.organizationId=this.organization.id,e.entityId=n.id,e.showUser=!0,e.entity="cipher",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.clearFilters=function(){this.collectionId=null,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={type:this.type,collectionId:this.collectionId});var l=this.router.createUrlTree(["organizations",this.organization.id,"vault"],{queryParams:n}).toString();this.location.go(l)},n}());l.VaultComponent=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1}),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.submit=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.cipherDomain.collectionIds=this.collections.filter(function(n){return!!n.checked}).map(function(n){return n.id}),this.formPromise=this.saveCollections(),[4,this.formPromise];case 1:return n.sent(),this.onSavedCollections.emit(),this.analytics.eventTrack.next({action:"Edited Cipher Collections"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedItem")),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.loadCipherCollections=function(){return this.cipherDomain.collectionIds},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n=this;return u(this,function(l){switch(l.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,l.sent().filter(function(l){return!l.readOnly&&l.organizationId===n.cipher.organizationId})]}})})},n.prototype.saveCollections=function(){return this.cipherService.saveCollectionsWithServer(this.cipherDomain)},n}());l.CollectionsComponent=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(12),e(3),e(26),e(20),e(2),e(8),e(35);var o=function(n){function l(l,e,t,u,o,i,r){return n.call(this,l,e,t,u,o,i,r,window)||this}return u(l,n),l}(e(800).AttachmentsComponent);l.AttachmentsComponent=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1})];case 1:return l.sent(),this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n},n.prototype.editCipherAttachments=function(n){return t(this,void 0,void 0,function(){var l,e,i,r,s,d=this;return u(this,function(c){switch(c.label){case 0:return[4,this.tokenService.getPremium()];case 1:return l=c.sent(),null!=n.organizationId||l?[3,2]:(this.messagingService.send("premiumRequired"),[2]);case 2:return null==n.organizationId?[3,4]:[4,this.userService.getOrganization(n.organizationId)];case 3:if(null!=(e=c.sent())&&(null==e.maxStorageGb||0===e.maxStorageGb))return this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId}),[2];c.label=4;case 4:return null!=this.modal&&this.modal.close(),i=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.attachmentsModalRef.createComponent(i).instance,(r=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef)).cipherId=n.id,s=!1,r.onUploadedAttachment.subscribe(function(){return s=!0}),r.onDeletedAttachment.subscribe(function(){return s=!0}),this.modal.onClosed.subscribe(function(){return t(d,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,s?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return s=!1,[2]}})})}),[2]}})})},n.prototype.shareCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.shareModalRef.createComponent(e).instance;var i=this.modal.show(v.ShareComponent,this.shareModalRef);i.cipherId=n.id,i.onSharedCipher.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var i=this.modal.show(p.CollectionsComponent,this.collectionsModalRef);i.cipherId=n.id,i.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addFolder=function(){return t(this,void 0,void 0,function(){var n,l,e=this;return u(this,function(i){return null!=this.modal&&this.modal.close(),n=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(n).instance,(l=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=null,l.onSavedFolder.subscribe(function(){return t(e,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){e.modal=null}),[2]})})},n.prototype.editFolder=function(n){return t(this,void 0,void 0,function(){var l,e,i=this;return u(this,function(r){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(l).instance,(e=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=n,e.onSavedFolder.subscribe(function(){return t(i,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),e.onDeletedFolder.subscribe(function(){return t(i,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[4,this.filterFolder("none")];case 2:return n.sent(),this.groupingsComponent.selectedFolderId=null,[2]}})})}),this.modal.onClosed.subscribe(function(){i.modal=null}),[2]})})},n.prototype.addCipher=function(){var n=this.editCipher(null);n.type=this.type,n.folderId="none"===this.folderId?null:this.folderId},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var i=this.modal.show(r.AddEditComponent,this.cipherAddEditModalRef);return i.cipherId=null==n?null:n.id,i.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),i.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),i},n.prototype.bulkDelete=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkDeleteModalRef.createComponent(e).instance;var i=this.modal.show(s.BulkDeleteComponent,this.bulkDeleteModalRef);i.cipherIds=l,i.onDeleted.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkShare=function(){var n=this,l=this.ciphersComponent.getSelected();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkShareModalRef.createComponent(e).instance;var i=this.modal.show(c.BulkShareComponent,this.bulkShareModalRef);i.ciphers=l,i.onShared.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkMove=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkMoveModalRef.createComponent(e).instance;var i=this.modal.show(d.BulkMoveComponent,this.bulkMoveModalRef);i.cipherIds=l,i.onMoved.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.selectAll=function(n){this.ciphersComponent.selectAll(n)},n.prototype.updateKey=function(){var n=this;null!=this.modal&&this.modal.close();var l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.updateKeyModalRef.createComponent(l).instance,this.modal.show(i.UpdateKeyComponent,this.updateKeyModalRef),this.modal.onClosed.subscribe(function(){n.modal=null})},n.prototype.clearFilters=function(){this.folderId=null,this.collectionId=null,this.favorites=!1,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={favorites:!!this.favorites||null,type:this.type,folderId:this.folderId,collectionId:this.collectionId});var l=this.router.createUrlTree(["vault"],{queryParams:n}).toString();this.location.go(l)},n}());l.VaultComponent=h},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Domain=0]="Domain",n[n.Host=1]="Host",n[n.StartsWith=2]="StartsWith",n[n.Exact=3]="Exact",n[n.RegularExpression=4]="RegularExpression",n[n.Never=5]="Never"}(l.UriMatchType||(l.UriMatchType={}))},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?(n="http://"+n,l=!0):this.imageEnabled&&(l=0===n.indexOf("http")&&n.indexOf(".")>-1),this.imageEnabled&&l)try{this.image=this.iconsUrl+"/"+r.Utils.getHostname(n)+"/icon.png",this.fallbackImage="images/fa-globe.png"}catch(n){}}else this.image=null},n}();l.IconComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.ngOnInit=function(){document.body.classList.remove("layout_frontend")},n}();l.UserLayoutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(8);var t=function(){function n(n){this.platformUtilsService=n,this.year="2015"}return n.prototype.ngOnInit=function(){this.year=(new Date).getFullYear().toString(),this.version=this.platformUtilsService.getApplicationVersion()},n}();l.FooterComponent=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(n.email=l.email),null!=l.premium?n.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=l.org&&(n.showCreateOrgMessage=!0,n.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:l.org}}))})},l}(e(830).RegisterComponent);l.RegisterComponent=o},function(n,l,e){var t,u,o;u=[],void 0===(o="function"==typeof(t=function(){var n,l,e,t,u,o=/^(?:AUTH|ENROLL)+\|[A-Za-z0-9\+\/=]+\|[A-Za-z0-9\+\/=]+$/,i=/^ERR\|[\w\s\.\(\)]+$/,r=/^DUO_OPEN_WINDOW\|/,a=["duo.com","duosecurity.com","duomobile.s3-us-west-1.amazonaws.com"],s="duo_iframe",d="",c="sig_response";function p(n,l){throw new Error("Duo Web SDK error: "+n+(l?"\nSee "+l+" for more information":""))}function f(n,l){return"dataset"in n?n.dataset[l]:n.getAttribute("data-"+l.replace(/([a-z])([A-Z])/,"$1-$2").toLowerCase())}function v(n,l,e,t){"addEventListener"in window?n.addEventListener(l,t,!1):n.attachEvent(e,t)}function h(n,l,e,t){"removeEventListener"in window?n.removeEventListener(l,t,!1):n.detachEvent(e,t)}function g(n){v(document,"DOMContentLoaded","onreadystatechange",n)}function m(n){h(document,"DOMContentLoaded","onreadystatechange",n)}function y(n){if(n){0===n.indexOf("ERR|")&&p(n.split("|")[1]),-1!==n.indexOf(":")&&2===n.split(":").length||p("Duo was given a bad token. This might indicate a configuration problem with one of Duo's client libraries.","https://www.duosecurity.com/docs/duoweb#first-steps");var t=n.split(":");return l=t[0],e=t[1],{sigRequest:n,duoSig:t[0],appSig:t[1]}}}function C(){if(!(t=document.getElementById(s)))throw new Error('This page does not contain an iframe for Duo to use.Add an element like to this page. See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe for more information.');w(),m(C)}function b(l){return Boolean(l.origin==="https://"+n&&"string"==typeof l.data&&(l.data.match(o)||l.data.match(i)||l.data.match(r)))}function S(n){if(b(n))if(n.data.match(r)){var l=n.data.substring("DUO_OPEN_WINDOW|".length);(function(n){if(!n)return!1;var l=document.createElement("a");if(l.href=n,"duotrustedendpoints:"===l.protocol)return!0;if("https:"!==l.protocol)return!1;for(var e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(this.email=e.email),null!=e.premium?this.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=e.org&&this.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:e.org}}),[4,n.prototype.ngOnInit.call(this)];case 1:return l.sent(),[2]}})})}),[2]})})},l.prototype.goAfterLogIn=function(){return o(this,void 0,void 0,function(){var n,l;return i(this,function(e){switch(e.label){case 0:return[4,this.stateService.get("orgInvitation")];case 1:return null==(n=e.sent())?[3,2]:(this.router.navigate(["accept-organization"],{queryParams:n}),[3,6]);case 2:return[4,this.stateService.get("loginRedirect")];case 3:return null==(l=e.sent())?[3,5]:(this.router.navigate([l.route],{queryParams:l.qParams}),[4,this.stateService.remove("loginRedirect")]);case 4:return e.sent(),[3,6];case 5:this.router.navigate([this.successRoute]),e.label=6;case 6:return[2]}})})},l}(e(850).LoginComponent);l.LoginComponent=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(8);var t=function(){function n(n){this.platformUtilsService=n}return n.prototype.ngOnInit=function(){this.version=this.platformUtilsService.getApplicationVersion(),document.body.classList.add("layout_frontend")},n.prototype.ngOnDestroy=function(){document.body.classList.remove("layout_frontend")},n}();l.FrontendLayoutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SettingsService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.LockService=t},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=n.length&&(n=Array(l+1-n.length).join(e)+n),n},n.prototype.dec2hex=function(n){return(n<15.5?"0":"")+Math.round(n).toString(16)},n.prototype.hex2dec=function(n){return parseInt(n,16)},n.prototype.b32tohex=function(n){n=n.toUpperCase();for(var l="",e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&n.push(l.domains)}),[2,this.settingsService.setEquivalentDomains(n)]})})},n}();l.SyncService=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.state={}}return n.prototype.get=function(n){return this.state.hasOwnProperty(n)?Promise.resolve(this.state[n]):Promise.resolve(null)},n.prototype.save=function(n,l){return this.state[n]=l,Promise.resolve()},n.prototype.remove=function(n){return delete this.state[n],Promise.resolve()},n.prototype.purge=function(){return this.state={},Promise.resolve()},n}();l.StateService=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0)for(p=0;p0)for(p=0;p0)for(p=0;p0)for(p=0;p100&&l.pop(),[4,this.encryptHistory(l)]);case 3:return e=t.sent(),[4,this.storageService.save(s,e)];case 4:return[2,t.sent()]}})})},n.prototype.clear=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.history=[],[4,this.storageService.remove(s)];case 1:return[2,n.sent()]}})})},n.prototype.encryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(o){switch(o.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.encrypt(n.password)];case 1:return l=e.sent(),[2,new i.PasswordHistory(l.encryptedString,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,o.sent()]}})})},n.prototype.decryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(r){switch(r.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.decryptToUtf8(new o.CipherString(n.password))];case 1:return l=e.sent(),[2,new i.PasswordHistory(l,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,r.sent()]}})})},n.prototype.matchesPrevious=function(n,l){return null!=l&&0!==l.length&&l[l.length-1].password===n},n.prototype.shuffleArray=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:e=n.length-1,u.label=1;case 1:return e>0?[4,this.cryptoService.randomNumber(0,e)]:[3,4];case 2:t=u.sent(),l=[n[t],n[e]],n[e]=l[0],n[t]=l[1],u.label=3;case 3:return e--,[3,1];case 4:return[2]}})})},n}();l.PasswordGenerationService=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=e?[4,this.lock()]:[3,6]);case 5:t.sent(),t.label=6;case 6:return[2]}})})},n.prototype.lock=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,Promise.all([this.cryptoService.clearKey(),this.cryptoService.clearOrgKeys(!0),this.cryptoService.clearKeyPair(!0),this.cryptoService.clearEncKey(!0)])];case 1:return n.sent(),this.folderService.clearCache(),this.cipherService.clearCache(),this.collectionService.clearCache(),this.messagingService.send("locked"),null==this.lockedCallback?[3,3]:[4,this.lockedCallback()];case 2:n.sent(),n.label=3;case 3:return[2]}})})},n.prototype.setLockOption=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.storageService.save(o.ConstantsService.lockOptionKey,n)];case 1:return l.sent(),[4,this.cryptoService.toggleKey()];case 2:return l.sent(),[2]}})})},n}();l.LockService=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.cipherService.upsert(o)}return[2]}})})},n.prototype.deleteWithServer=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.apiService.deleteFolder(n)];case 1:return l.sent(),[4,this.delete(n)];case 2:return l.sent(),[2]}})})},n}();l.FolderService=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=0;r--)(u=n[r])&&(i=(o<3?u(i):o>3?u(l,e,i):u(l,e))||i);return o>3&&i&&Object.defineProperty(l,e,i),i},u=this&&this.__metadata||function(n,l){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,l)},o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?[2,this.orgKeys]:[4,this.storageService.get(h)];case 1:if(null==(n=i.sent()))return[2,null];for(u in l=new Map,e=!1,t=[],n)t.push(u);o=0,i.label=2;case 2:return o53)throw new Error("We cannot generate numbers larger than 53 bits.");return o=Math.ceil(u/8),r=Math.pow(2,u)-1,s=Uint8Array.bind,[4,this.cryptoFunctionService.randomBytes(o)];case 1:for(a=new(s.apply(Uint8Array,[void 0,i.sent()])),d=8*(o-1),c=0;c=t?[2,this.randomNumber(n,l)]:[2,n+e]}})})},n.prototype.aesEncrypt=function(n,l){return o(this,void 0,void 0,function(){var e,t,u,o,r,a;return i(this,function(i){switch(i.label){case 0:return e=new s.EncryptedObject,t=e,[4,this.getKeyForEncryption(l)];case 1:return t.key=i.sent(),u=e,[4,this.cryptoFunctionService.randomBytes(16)];case 2:return u.iv=i.sent(),o=e,[4,this.cryptoFunctionService.aesEncrypt(n,e.iv,e.key.encKey)];case 3:return o.data=i.sent(),null==e.key.macKey?[3,5]:((r=new Uint8Array(e.iv.byteLength+e.data.byteLength)).set(new Uint8Array(e.iv),0),r.set(new Uint8Array(e.data),e.iv.byteLength),a=e,[4,this.cryptoFunctionService.hmac(r.buffer,e.key.macKey,"sha256")]);case 4:a.mac=i.sent(),i.label=5;case 5:return[2,e]}})})},n.prototype.aesDecryptToUtf8=function(n,l,e,t,u){return o(this,void 0,void 0,function(){var o,r,a,s;return i(this,function(i){switch(i.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return o=i.sent(),null!=(r=this.resolveLegacyKey(n,o)).macKey&&null==t?(console.error("mac required."),[2,null]):r.encType!==n?(console.error("encType unavailable."),[2,null]):null==(a=this.cryptoFunctionService.aesDecryptFastParameters(l,e,t,r)).macKey||null==a.mac?[3,4]:[4,this.cryptoFunctionService.hmacFast(a.macData,a.macKey,"sha256")];case 2:return s=i.sent(),[4,this.cryptoFunctionService.compareFast(a.mac,s)];case 3:if(!i.sent())return console.error("mac failed."),[2,null];i.label=4;case 4:return[2,this.cryptoFunctionService.aesDecryptFast(a)]}})})},n.prototype.aesDecryptToBytes=function(n,l,e,t,u){return o(this,void 0,void 0,function(){var o,r,a,s;return i(this,function(i){switch(i.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return o=i.sent(),null!=(r=this.resolveLegacyKey(n,o)).macKey&&null==t?[2,null]:r.encType!==n?[2,null]:null==r.macKey||null==t?[3,4]:((a=new Uint8Array(e.byteLength+l.byteLength)).set(new Uint8Array(e),0),a.set(new Uint8Array(l),e.byteLength),[4,this.cryptoFunctionService.hmac(a.buffer,r.macKey,"sha256")]);case 2:return null===(s=i.sent())?[2,null]:[4,this.cryptoFunctionService.compare(t,s)];case 3:if(!i.sent())return console.error("mac failed."),[2,null];i.label=4;case 4:return[4,this.cryptoFunctionService.aesDecrypt(l,e,r.encKey)];case 5:return[2,i.sent()]}})})},n.prototype.rsaDecrypt=function(n){return o(this,void 0,void 0,function(){var l,e,t,u,o,a,s,d,c;return i(this,function(i){switch(i.label){case 0:if(l=n.split("."),e=null,1===l.length)e=r.EncryptionType.Rsa2048_OaepSha256_B64,t=[l[0]];else if(2===l.length)try{e=parseInt(l[0],null),t=l[1].split("|")}catch(n){}switch(e){case r.EncryptionType.Rsa2048_OaepSha256_B64:case r.EncryptionType.Rsa2048_OaepSha1_B64:if(1!==t.length)throw new Error("Invalid cipher format.");break;case r.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:case r.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:if(2!==t.length)throw new Error("Invalid cipher format.");break;default:throw new Error("encType unavailable.")}if(null==t||t.length<=0)throw new Error("encPieces unavailable.");return u=f.Utils.fromB64ToArray(t[0]).buffer,[4,this.getEncKey()];case 1:return null!=(o=i.sent())&&null!=o.macKey&&t.length>1?(a=f.Utils.fromB64ToArray(t[1]).buffer,[4,this.cryptoFunctionService.hmac(u,o.macKey,"sha256")]):[3,4];case 2:return s=i.sent(),[4,this.cryptoFunctionService.compare(a,s)];case 3:if(!i.sent())throw new Error("MAC failed.");i.label=4;case 4:return[4,this.getPrivateKey()];case 5:if(null==(d=i.sent()))throw new Error("No private key.");switch(c="sha1",e){case r.EncryptionType.Rsa2048_OaepSha256_B64:case r.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:c="sha256";break;case r.EncryptionType.Rsa2048_OaepSha1_B64:case r.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:break;default:throw new Error("encType unavailable.")}return[2,this.cryptoFunctionService.rsaDecrypt(u,d,c)]}})})},n.prototype.getKeyForEncryption=function(n){return o(this,void 0,void 0,function(){var l;return i(this,function(e){switch(e.label){case 0:return null!=n?[2,n]:[4,this.getEncKey()];case 1:return null!=(l=e.sent())?[2,l]:[4,this.getKey()];case 2:return[2,e.sent()]}})})},n.prototype.resolveLegacyKey=function(n,l){return n===r.EncryptionType.AesCbc128_HmacSha256_B64&&l.encType===r.EncryptionType.AesCbc256_B64?(null==this.legacyEtmKey&&(this.legacyEtmKey=new d.SymmetricCryptoKey(l.key,r.EncryptionType.AesCbc128_HmacSha256_B64)),this.legacyEtmKey):l},n.prototype.stretchKey=function(n){return o(this,void 0,void 0,function(){var l,e,t,u,o;return i(this,function(i){switch(i.label){case 0:return l=new Uint8Array(64),t=(e=l).set,[4,this.hkdfExpand(n.key,f.Utils.fromUtf8ToArray("enc"),32)];case 1:return t.apply(e,[i.sent()]),o=(u=l).set,[4,this.hkdfExpand(n.key,f.Utils.fromUtf8ToArray("mac"),32)];case 2:return o.apply(u,[i.sent(),32]),[2,new d.SymmetricCryptoKey(l.buffer)]}})})},n.prototype.hkdfExpand=function(n,l,e){return o(this,void 0,void 0,function(){var t,u,o,r,a,s,d;return i(this,function(i){switch(i.label){case 0:t=32,u=new Uint8Array(e),o=new Uint8Array(0),r=Math.ceil(e/t),a=0,i.label=1;case 1:return a0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1})]}})})},l.prototype.getAllDecryptedForUrl=function(n,l){return t(this,void 0,void 0,function(){var e,t,r,a;return u(this,function(u){switch(u.label){case 0:return null!=n||l?(e=this.platformUtilsService.getDomain(n),t=null==e?Promise.resolve([]):this.settingsService.getEquivalentDomains().then(function(n){var l=[];return n.forEach(function(n){n.length&&n.indexOf(e)>=0&&(l=l.concat(n))}),l.length||l.push(e),l}),[4,Promise.all([t,this.getAllDecrypted()])]):[2,Promise.resolve([])];case 1:return r=u.sent(),a=r[0],[2,r[1].filter(function(t){if(l&&l.indexOf(t.type)>-1)return!0;if(null!=n&&t.type===o.CipherType.Login&&null!=t.login.uris)for(var u=0;u-1)return!0;break;case i.UriMatchType.Host:var s=w.Utils.getHost(n);if(null!=s&&s===w.Utils.getHost(r.uri))return!0;break;case i.UriMatchType.Exact:if(n===r.uri)return!0;break;case i.UriMatchType.StartsWith:if(n.startsWith(r.uri))return!0;break;case i.UriMatchType.RegularExpression:try{if(new RegExp(r.uri,"i").test(n))return!0}catch(n){}break;case i.UriMatchType.Never:}}return!1})]}})})},l.prototype.getLastUsedForUrl=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.getAllDecryptedForUrl(n)];case 1:return 0===(l=e.sent()).length?[2,null]:[2,l.sort(this.sortCiphersByLastUsed)[0]]}})})},l.prototype.updateLastUsedDate=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:return[4,this.storageService.get(_)];case 1:return(l=u.sent())||(l={}),l[n]?l[n].lastUsedDate=(new Date).getTime():l[n]={lastUsedDate:(new Date).getTime()},[4,this.storageService.save(_,l)];case 2:if(u.sent(),null==this.decryptedCipherCache)return[2];for(e=0;et?-1:null!=t&&null==e?1:0},l.prototype.sortCiphersByLastUsedThenName=function(n,l){var e=this.sortCiphersByLastUsed(n,l);return 0!==e?e:this.getLocaleSortingFunction()(n,l)},l.prototype.getLocaleSortingFunction=function(){var n=this;return function(l,e){var t=l.name,u=e.name;if(null==t&&null!=u)return-1;if(null!=t&&null==u)return 1;if(null==t&&null==u)return 0;var i=n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u);return 0!==i||l.type!==o.CipherType.Login||e.type!==o.CipherType.Login?i:(null!=l.login.username&&(t+=l.login.username),null!=e.login.username&&(u+=e.login.username),n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u))}},l.prototype.encryptObjProperty=function(n,l,e,o){return t(this,void 0,void 0,function(){var t,i,r;return u(this,function(u){switch(u.label){case 0:for(r in t=[],i=this,e)e.hasOwnProperty(r)&&function(l,u){var r=Promise.resolve().then(function(){var t=n[e[l]||l];return t&&""!==t?i.cryptoService.encrypt(t,o):null}).then(function(n){u[l]=n});t.push(r)}(r,l);return[4,Promise.all(t)];case 1:return u.sent(),[2]}})})},l.prototype.encryptCipherData=function(n,l,e){return t(this,void 0,void 0,function(){var t,i;return u(this,function(u){switch(u.label){case 0:switch(n.type){case o.CipherType.Login:return[3,1];case o.CipherType.SecureNote:return[3,7];case o.CipherType.Card:return[3,8];case o.CipherType.Identity:return[3,10]}return[3,12];case 1:return n.login=new f.Login,[4,this.encryptObjProperty(l.login,n.login,{username:null,password:null,totp:null},e)];case 2:if(u.sent(),null==l.login.uris)return[3,6];n.login.uris=[],t=0,u.label=3;case 3:return t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?[4,l.json()]:[3,3];case 2:e=u.sent(),u.label=3;case 3:return null==e?[3,6]:200!==l.status?[3,4]:[2,new g.IdentityTokenResponse(e)];case 4:return 400===l.status&&e.TwoFactorProviders2&&Object.keys(e.TwoFactorProviders2).length?[4,this.tokenService.clearTwoFactorToken(n.email)]:[3,6];case 5:return u.sent(),[2,new m.IdentityTwoFactorResponse(e)];case 6:return[2,Promise.reject(new c.ErrorResponse(e,l.status,!0))]}})})},n.prototype.refreshIdentityToken=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.doRefreshToken()];case 1:return n.sent(),[3,3];case 2:return n.sent(),[2,Promise.reject(null)];case 3:return[2]}})})},n.prototype.getProfile=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/profile",null,!0,!0)];case 1:return n=l.sent(),[2,new w.ProfileResponse(n)]}})})},n.prototype.getUserBilling=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/billing",null,!0,!0)];case 1:return n=l.sent(),[2,new i.BillingResponse(n)]}})})},n.prototype.putProfile=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/accounts/profile",n,!0,!0)];case 1:return l=e.sent(),[2,new w.ProfileResponse(l)]}})})},n.prototype.postEmailToken=function(n){return this.send("POST","/accounts/email-token",n,!0,!1)},n.prototype.postEmail=function(n){return this.send("POST","/accounts/email",n,!0,!1)},n.prototype.postPassword=function(n){return this.send("POST","/accounts/password",n,!0,!1)},n.prototype.postSecurityStamp=function(n){return this.send("POST","/accounts/security-stamp",n,!0,!1)},n.prototype.deleteAccount=function(n){return this.send("DELETE","/accounts",n,!0,!1)},n.prototype.getAccountRevisionDate=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.send("GET","/accounts/revision-date",null,!0,!0)];case 1:return[2,n.sent()]}})})},n.prototype.postPasswordHint=function(n){return this.send("POST","/accounts/password-hint",n,!1,!1)},n.prototype.postRegister=function(n){return this.send("POST","/accounts/register",n,!1,!1)},n.prototype.postPremium=function(n){return this.send("POST","/accounts/premium",n,!0,!1)},n.prototype.postReinstatePremium=function(){return this.send("POST","/accounts/reinstate-premium",null,!0,!1)},n.prototype.postCancelPremium=function(){return this.send("POST","/accounts/cancel-premium",null,!0,!1)},n.prototype.postAccountStorage=function(n){return this.send("POST","/accounts/storage",n,!0,!1)},n.prototype.postAccountPayment=function(n){return this.send("POST","/accounts/payment",n,!0,!1)},n.prototype.postAccountLicense=function(n){return this.send("POST","/accounts/license",n,!0,!1)},n.prototype.postAccountKeys=function(n){return this.send("POST","/accounts/keys",n,!0,!1)},n.prototype.postAccountKey=function(n){return this.send("POST","/accounts/key",n,!0,!1)},n.prototype.postAccountVerifyEmail=function(){return this.send("POST","/accounts/verify-email",null,!0,!1)},n.prototype.postAccountVerifyEmailToken=function(n){return this.send("POST","/accounts/verify-email-token",n,!1,!1)},n.prototype.postAccountRecoverDelete=function(n){return this.send("POST","/accounts/delete-recover",n,!1,!1)},n.prototype.postAccountRecoverDeleteToken=function(n){return this.send("POST","/accounts/delete-recover-token",n,!1,!1)},n.prototype.postFolder=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/folders",n,!0,!0)];case 1:return l=e.sent(),[2,new f.FolderResponse(l)]}})})},n.prototype.putFolder=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/folders/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new f.FolderResponse(e)]}})})},n.prototype.deleteFolder=function(n){return this.send("DELETE","/folders/"+n,null,!0,!1)},n.prototype.getCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.getCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n+"/admin",null,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.getCiphersOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/organization-details?organizationId="+n,null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,r.CipherResponse)]}})})},n.prototype.postCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers",n,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.postCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers/admin",n,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.putCipher=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.putCipherAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n+"/admin",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.deleteCipher=function(n){return this.send("DELETE","/ciphers/"+n,null,!0,!1)},n.prototype.deleteCipherAdmin=function(n){return this.send("DELETE","/ciphers/"+n+"/admin",null,!0,!1)},n.prototype.deleteManyCiphers=function(n){return this.send("DELETE","/ciphers",n,!0,!1)},n.prototype.putMoveCiphers=function(n){return this.send("PUT","/ciphers/move",n,!0,!1)},n.prototype.putShareCipher=function(n,l){return this.send("PUT","/ciphers/"+n+"/share",l,!0,!1)},n.prototype.putShareCiphers=function(n){return this.send("PUT","/ciphers/share",n,!0,!1)},n.prototype.putCipherCollections=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections",l,!0,!1)},n.prototype.putCipherCollectionsAdmin=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections-admin",l,!0,!1)},n.prototype.postPurgeCiphers=function(n){return this.send("POST","/ciphers/purge",n,!0,!1)},n.prototype.postImportCiphers=function(n){return this.send("POST","/ciphers/import",n,!0,!1)},n.prototype.postImportOrganizationCiphers=function(n,l){return this.send("POST","/ciphers/import-organization?organizationId="+n,l,!0,!1)},n.prototype.postCipherAttachment=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.postCipherAttachmentAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment-admin",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.deleteCipherAttachment=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l,null,!0,!1)},n.prototype.deleteCipherAttachmentAdmin=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l+"/admin",null,!0,!1)},n.prototype.postShareCipherAttachment=function(n,l,e,t){return this.send("POST","/ciphers/"+n+"/attachment/"+l+"/share?organizationId="+t,e,!0,!1)},n.prototype.getCollectionDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new a.CollectionGroupDetailsResponse(e)]}})})},n.prototype.getCollections=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,a.CollectionResponse)]}})})},n.prototype.getCollectionUsers=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/users",null,!0,!0)];case 1:return e=t.sent(),[2,new y.ListResponse(e,s.CollectionUserResponse)]}})})},n.prototype.postCollection=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/collections",l,!0,!0)];case 1:return e=t.sent(),[2,new a.CollectionResponse(e)]}})})},n.prototype.putCollection=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/collections/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new a.CollectionResponse(t)]}})})},n.prototype.deleteCollection=function(n,l){return this.send("DELETE","/organizations/"+n+"/collections/"+l,null,!0,!1)},n.prototype.deleteCollectionUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/collections/"+l+"/user/"+e,null,!0,!1)},n.prototype.getGroupDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupDetailsResponse(e)]}})})},n.prototype.getGroups=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,v.GroupResponse)]}})})},n.prototype.getGroupUsers=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/users",null,!0,!0)];case 1:return e=t.sent(),[2,new y.ListResponse(e,h.GroupUserResponse)]}})})},n.prototype.postGroup=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/groups",l,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupResponse(e)]}})})},n.prototype.putGroup=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/groups/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new v.GroupResponse(t)]}})})},n.prototype.deleteGroup=function(n,l){return this.send("DELETE","/organizations/"+n+"/groups/"+l,null,!0,!1)},n.prototype.deleteGroupUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/groups/"+l+"/user/"+e,null,!0,!1)},n.prototype.getOrganizationUser=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l,null,!0,!0)];case 1:return e=t.sent(),[2,new S.OrganizationUserDetailsResponse(e)]}})})},n.prototype.getOrganizationUserGroups=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l+"/groups",null,!0,!0)];case 1:return[2,e.sent()]}})})},n.prototype.getOrganizationUsers=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,S.OrganizationUserUserDetailsResponse)]}})})},n.prototype.postOrganizationUserInvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/invite",l,!0,!1)},n.prototype.postOrganizationUserReinvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/"+l+"/reinvite",null,!0,!1)},n.prototype.postOrganizationUserAccept=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/accept",e,!0,!1)},n.prototype.postOrganizationUserConfirm=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/confirm",e,!0,!1)},n.prototype.putOrganizationUser=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l,e,!0,!1)},n.prototype.putOrganizationUserGroups=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l+"/groups",e,!0,!1)},n.prototype.deleteOrganizationUser=function(n,l){return this.send("DELETE","/organizations/"+n+"/users/"+l,null,!0,!1)},n.prototype.getSync=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=this.isDesktopClient||this.isWebClient?"/sync?excludeDomains=true":"/sync",[4,this.send("GET",n,null,!0,!0)];case 1:return l=e.sent(),[2,new R.SyncResponse(l)]}})})},n.prototype.postImportDirectory=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/import",l,!0,!1)]})})},n.prototype.getSettingsDomains=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/settings/domains",null,!0,!0)];case 1:return n=l.sent(),[2,new d.DomainsResponse(n)]}})})},n.prototype.putSettingsDomains=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/settings/domains",n,!0,!0)];case 1:return l=e.sent(),[2,new d.DomainsResponse(l)]}})})},n.prototype.getTwoFactorProviders=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/two-factor",null,!0,!0)];case 1:return n=l.sent(),[2,new y.ListResponse(n,E.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorOrganizationProviders=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/two-factor",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,E.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new _.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.getTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-email",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorEmailResponse(l)]}})})},n.prototype.getTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-duo",n,!0,!0)];case 1:return l=e.sent(),[2,new I.TwoFactorDuoResponse(l)]}})})},n.prototype.getTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/two-factor/get-duo",l,!0,!0)];case 1:return e=t.sent(),[2,new I.TwoFactorDuoResponse(e)]}})})},n.prototype.getTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.getTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.getTwoFactorRecover=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-recover",n,!0,!0)];case 1:return l=e.sent(),[2,new O.TwoFactorRecoverResponse(l)]}})})},n.prototype.putTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new _.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.putTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/email",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorEmailResponse(l)]}})})},n.prototype.putTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/duo",n,!0,!0)];case 1:return l=e.sent(),[2,new I.TwoFactorDuoResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/duo",l,!0,!0)];case 1:return e=t.sent(),[2,new I.TwoFactorDuoResponse(e)]}})})},n.prototype.putTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.putTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.putTwoFactorDisable=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/disable",n,!0,!0)];case 1:return l=e.sent(),[2,new E.TwoFactorProviderResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDisable=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/disable",l,!0,!0)];case 1:return e=t.sent(),[2,new E.TwoFactorProviderResponse(e)]}})})},n.prototype.postTwoFactorRecover=function(n){return this.send("POST","/two-factor/recover",n,!1,!1)},n.prototype.postTwoFactorEmailSetup=function(n){return this.send("POST","/two-factor/send-email",n,!0,!1)},n.prototype.postTwoFactorEmail=function(n){return this.send("POST","/two-factor/send-email-login",n,!1,!1)},n.prototype.getOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.getOrganizationBilling=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/billing",null,!0,!0)];case 1:return l=e.sent(),[2,new C.OrganizationBillingResponse(l)]}})})},n.prototype.getOrganizationLicense=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("GET","/organizations/"+n+"/license?installationId="+l,null,!0,!0)]})})},n.prototype.postOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations",n,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.putOrganization=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new b.OrganizationResponse(e)]}})})},n.prototype.postLeaveOrganization=function(n){return this.send("POST","/organizations/"+n+"/leave",null,!0,!1)},n.prototype.postOrganizationLicense=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations/license",n,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.postOrganizationLicenseUpdate=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/license",l,!0,!1)]})})},n.prototype.postOrganizationSeat=function(n,l){return this.send("POST","/organizations/"+n+"/seat",l,!0,!1)},n.prototype.postOrganizationStorage=function(n,l){return this.send("POST","/organizations/"+n+"/storage",l,!0,!1)},n.prototype.postOrganizationPayment=function(n,l){return this.send("POST","/organizations/"+n+"/payment",l,!0,!1)},n.prototype.postOrganizationVerifyBank=function(n,l){return this.send("POST","/organizations/"+n+"/verify-bank",l,!0,!1)},n.prototype.postOrganizationCancel=function(n){return this.send("POST","/organizations/"+n+"/cancel",null,!0,!1)},n.prototype.postOrganizationReinstate=function(n){return this.send("POST","/organizations/"+n+"/reinstate",null,!0,!1)},n.prototype.deleteOrganization=function(n,l){return this.send("DELETE","/organizations/"+n,l,!0,!1)},n.prototype.getEvents=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/events",n,l,e),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsCipher=function(n,l,e,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/ciphers/"+n+"/events",l,e,o),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganization=function(n,l,e,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/events",l,e,o),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganizationUser=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/users/"+l+"/events",e,o,i),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getUserPublicKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/users/"+n+"/public-key",null,!0,!0)];case 1:return l=e.sent(),[2,new k.UserKeyResponse(l)]}})})},n.prototype.fetch=function(n){return"GET"===n.method&&(n.headers.set("Cache-Control","no-cache"),n.headers.set("Pragma","no-cache")),fetch(n)},n.prototype.send=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t,r,a,s,d;return u(this,function(u){switch(u.label){case 0:return t=new Headers({"Device-Type":this.deviceType}),r={cache:"no-cache",credentials:this.getCredentials(),method:n},o?[4,this.handleTokenState()]:[3,2];case 1:a=u.sent(),t.set("Authorization",a),u.label=2;case 2:return null!=e&&("string"==typeof e?(r.body=e,t.set("Content-Type","application/x-www-form-urlencoded; charset=utf-8")):"object"==typeof e&&(e instanceof FormData?r.body=e:(t.set("Content-Type","application/json; charset=utf-8"),r.body=JSON.stringify(e)))),i&&t.set("Accept","application/json"),r.headers=t,[4,this.fetch(new Request(this.apiBaseUrl+l,r))];case 3:return s=u.sent(),i&&200===s.status?[4,s.json()]:[3,5];case 4:return[2,u.sent()];case 5:return 200===s.status?[3,7]:[4,this.handleError(s,!1)];case 6:return d=u.sent(),[2,Promise.reject(d)];case 7:return[2]}})})},n.prototype.handleError=function(n,l){return t(this,void 0,void 0,function(){var e,t;return u(this,function(u){switch(u.label){case 0:return l&&400===n.status||401===n.status||403===n.status?[4,this.logoutCallback(!0)]:[3,2];case 1:return u.sent(),[2,null];case 2:return e=null,null!=(t=n.headers.get("content-type"))&&t.indexOf("application/json")>-1?[4,n.json()]:[3,4];case 3:e=u.sent(),u.label=4;case 4:return[2,new c.ErrorResponse(e,n.status,l)]}})})},n.prototype.handleTokenState=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.tokenService.getToken()];case 1:return n=e.sent(),this.tokenService.tokenNeedsRefresh()?[4,this.doRefreshToken()]:[3,3];case 2:l=e.sent(),n=l.accessToken,e.label=3;case 3:return[2,"Bearer "+n]}})})},n.prototype.doRefreshToken=function(){return t(this,void 0,void 0,function(){var n,l,e,t,o,i;return u(this,function(u){switch(u.label){case 0:return[4,this.tokenService.getRefreshToken()];case 1:if(null==(n=u.sent())||""===n)throw new Error;return l=this.tokenService.decodeToken(),[4,this.fetch(new Request(this.identityBaseUrl+"/connect/token",{body:this.qsStringify({grant_type:"refresh_token",client_id:l.client_id,refresh_token:n}),cache:"no-cache",credentials:this.getCredentials(),headers:new Headers({"Content-Type":"application/x-www-form-urlencoded; charset=utf-8",Accept:"application/json","Device-Type":this.deviceType}),method:"POST"}))];case 2:return 200!==(e=u.sent()).status?[3,5]:[4,e.json()];case 3:return t=u.sent(),o=new g.IdentityTokenResponse(t),[4,this.tokenService.setTokens(o.accessToken,o.refreshToken)];case 4:return u.sent(),[2,o];case 5:return[4,this.handleError(e,!0)];case 6:return i=u.sent(),[2,Promise.reject(i)]}})})},n.prototype.qsStringify=function(n){return Object.keys(n).map(function(l){return encodeURIComponent(l)+"="+encodeURIComponent(n[l])}).join("&")},n.prototype.getCredentials=function(){if(!this.isWebClient||this.usingBaseUrl)return"include"},n.prototype.addEventParameters=function(n,l,e,t){return null!=l&&(n+="?start="+l),null!=e&&(n+=n.indexOf("?")>-1?"&":"?",n+="end="+e),null!=t&&(n+=n.indexOf("?")>-1?"&":"?",n+="continuationToken="+t),n},n}();l.ApiService=V},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(13);var t=function(){function n(n,l){this.elementRef=n,this.renderer=l,this.trueValue=!0,this.falseValue=!1,this.propagateChange=function(n){}}return n.prototype.onHostChange=function(n){this.propagateChange(n.target.checked?this.trueValue:this.falseValue)},n.prototype.writeValue=function(n){n===this.trueValue?this.renderer.setProperty(this.elementRef.nativeElement,"checked",!0):this.renderer.setProperty(this.elementRef.nativeElement,"checked",!1)},n.prototype.registerOnChange=function(n){this.propagateChange=n},n.prototype.registerOnTouched=function(n){},n.prototype.setDisabledState=function(n){},n}();l.TrueFalseValueDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n){this.elRef=n,this.el=null,this.el=n.nativeElement}return n.prototype.ngOnInit=function(){var n=this;this.formEls=Array.from(this.el.querySelectorAll('input:not([type="hidden"]), select, textarea')),this.formEls.forEach(function(l){l.addEventListener("focus",function(l){n.el.classList.add("active")},!1),l.addEventListener("blur",function(l){n.el.classList.remove("active")},!1)})},n.prototype.onClick=function(n){if(n.target===this.el&&this.formEls.length>0){var l=this.formEls[0];if("input"===l.tagName.toLowerCase()){var e=l;if(null!=e.type&&"checkbox"===e.type.toLowerCase())return void e.click()}l.focus()}},n}();l.BoxRowDirective=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(l[0].checked=!0)}),[3,5];case 4:return u.sent(),[3,5];case 5:return this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new i.OrganizationUserUpdateGroupsRequest).groupIds=this.groups.filter(function(n){return n.checked}).map(function(n){return n.id}),l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.apiService.putOrganizationUserGroups(this.organizationId,this.organizationUserId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:"Edited User Groups"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedGroupsForUser",this.name)),this.onSavedUser.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n}();l.UserGroupsComponent=a},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("inviteUser"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new r.Collection(new i.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:n=null,"all"!==this.access&&(n=this.collections.filter(function(n){return n.checked}).map(function(n){return new d.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),e.label=1;case 1:return e.trys.push([1,3,,4]),this.editMode?((l=new s.OrganizationUserUpdateRequest).accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.putOrganizationUser(this.organizationId,this.organizationUserId,l)):((l=new a.OrganizationUserInviteRequest).emails=this.emails.trim().split(/\s*,\s*/),l.accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.postOrganizationUserInvite(this.organizationId,l)),[4,this.formPromise];case 2:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited User":"Invited User"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedUserId":"invitedUsers",this.name)),this.onSavedUser.emit(),[3,4];case 3:return e.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteOrganizationUser(this.organizationId,this.organizationUserId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",this.name)),this.onDeletedUser.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.UserAddEditComponent=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("addGroup"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new r.Collection(new i.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new a.GroupRequest).name=this.name,n.externalId=this.externalId,n.accessAll="all"===this.access,n.accessAll||(n.collections=this.collections.filter(function(n){return n.checked}).map(function(n){return new s.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),l.label=1;case 1:return l.trys.push([1,3,,4]),this.editMode?this.formPromise=this.apiService.putGroup(this.organizationId,this.groupId,n):this.formPromise=this.apiService.postGroup(this.organizationId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Group":"Created Group"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedGroupId":"createdGroupId",this.name)),this.onSavedGroup.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteGroup(this.organizationId,this.groupId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",this.name)),this.onDeletedGroup.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.GroupAddEditComponent=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(l[0].checked=!0,l[0].readOnly=n.readOnly)}),[3,7];case 6:return u.sent(),[3,7];case 7:return[3,9];case 8:this.title=this.i18nService.t("addCollection"),u.label=9;case 9:return this.groups.forEach(function(n){n.accessAll&&(n.checked=!0)}),this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.accessAll||(n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1))},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=new r.CollectionRequest,l=n,[4,this.cryptoService.encrypt(this.name,this.orgKey)];case 1:l.name=e.sent().encryptedString,n.groups=this.groups.filter(function(n){return n.checked&&!n.accessAll}).map(function(n){return new a.SelectionReadOnlyRequest(n.id,!!n.readOnly)}),e.label=2;case 2:return e.trys.push([2,4,,5]),this.editMode?this.formPromise=this.apiService.putCollection(this.organizationId,this.collectionId,n):this.formPromise=this.apiService.postCollection(this.organizationId,n),[4,this.formPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Collection":"Created Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedCollectionId":"createdCollectionId",this.name)),this.onSavedCollection.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteCollection(this.organizationId,this.collectionId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",this.name)),this.onDeletedCollection.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.CollectionAddEditComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.groups=[],null!=n&&(this.name=n.name?n.name.encryptedString:null)}}();l.CollectionRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.collectionIds=null==n?[]:n}}();l.CipherCollectionsRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(n.uris=[],this.uris.forEach(function(l){n.uris.push(l.toLoginUriData())})),n},l}(e(100).default);l.Login=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(533),i=e(100),r=e(217),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.IdentityView(this),{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null},n)},l.prototype.toIdentityData=function(){var n=new o.IdentityData;return this.buildDataModel(this,n,{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null}),n},l}(i.default);l.Identity=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(534),i=e(100),r=e(179),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.type=l.type,t.buildDomainModel(t,l,{name:null,value:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.FieldView(this),{name:null,value:null},n)},l.prototype.toFieldData=function(){var n=new o.FieldData;return this.buildDataModel(this,n,{name:null,value:null,type:null},["type"]),n},l}(i.default);l.Field=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(535),i=e(100),r=e(115),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.CardView(this),{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null},n)},l.prototype.toCardData=function(){var n=new o.CardData;return this.buildDataModel(this,n,{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null}),n},l}(i.default);l.Card=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(536),i=e(100),r=e(538),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.size=l.size,t.buildDomainModel(t,l,{id:null,url:null,sizeName:null,fileName:null},e,["id","url","sizeName"]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.AttachmentView(this),{fileName:null},n)},l.prototype.toAttachmentData=function(){var n=new o.AttachmentData;return this.buildDataModel(this,n,{id:null,url:null,sizeName:null,fileName:null},["id","url","sizeName"]),n},l}(i.default);l.Attachment=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.type=n.type)}}();l.SecureNoteData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.match=null,null!=n&&(this.uri=n.uri,this.match=n.match)}}();l.LoginUriData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(531),u=function(){return function(n){var l=this;null!=n&&(this.username=n.username,this.password=n.password,this.totp=n.totp,n.uris&&(this.uris=[],n.uris.forEach(function(n){l.uris.push(new t.LoginUriData(n))})))}}();l.LoginData=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.title=n.title,this.firstName=n.firstName,this.middleName=n.middleName,this.lastName=n.lastName,this.address1=n.address1,this.address2=n.address2,this.address3=n.address3,this.city=n.city,this.state=n.state,this.postalCode=n.postalCode,this.country=n.country,this.company=n.company,this.email=n.email,this.phone=n.phone,this.ssn=n.ssn,this.username=n.username,this.passportNumber=n.passportNumber,this.licenseNumber=n.licenseNumber)}}();l.IdentityData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.type=n.type,this.name=n.name,this.value=n.value)}}();l.FieldData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.cardholderName=n.cardholderName,this.brand=n.brand,this.number=n.number,this.expMonth=n.expMonth,this.expYear=n.expYear,this.code=n.code)}}();l.CardData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.id=n.id,this.url=n.url,this.fileName=n.fileName,this.size=n.size,this.sizeName=n.sizeName)}}();l.AttachmentData=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(12),e(3),e(2),e(94),e(8);var o=function(n){function l(l,e,t,u,o){return n.call(this,l,e,t,u,o,window)||this}return u(l,n),l}(e(733).PasswordGeneratorHistoryComponent);l.PasswordGeneratorHistoryComponent=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){n&&(this.id=n.id,this.url=n.url,this.size=n.size,this.sizeName=n.sizeName)}}();l.AttachmentView=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.key=n,this.value=l}}();l.KvpRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Free=0]="Free",n[n.FamiliesAnnually=1]="FamiliesAnnually",n[n.TeamsMonthly=2]="TeamsMonthly",n[n.TeamsAnnually=3]="TeamsAnnually",n[n.EnterpriseMonthly=4]="EnterpriseMonthly",n[n.EnterpriseAnnually=5]="EnterpriseAnnually",n[n.Custom=6]="Custom"}(l.PlanType||(l.PlanType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(13),a=e(18),s=e(17),d=e(269),c=e(127),p=e(8),f=e(7),v=e(5),h=e(265),g=e(4),m=e(3),y=e(9),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"app-callout",[["icon","fa-info-circle"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{icon:[0,"icon"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,null,0,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(12,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(13,null,["\n ","\n "])),t.ɵppd(14,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"fa-info-circle",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent,0),"contactSupport")),""))},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"contactSupportPaymentMethod"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),"contactSupport"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"close")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,29,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(3,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(4,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,22,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"app-payment",[],null,null,null,d.View_PaymentComponent_0,d.RenderType_PaymentComponent)),t.ɵdid(13,245760,[[1,4]],0,c.PaymentComponent,[i.I18nService,p.PlatformUtilsService],{showOptions:[0,"showOptions"],hideBank:[1,"hideBank"],hidePaypal:[2,"hidePaypal"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,13,0,e.organizationId,!e.organizationId,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),null!=e.currentType?"changePaymentMethod":"addPaymentMethod"))),n(l,15,0,t.ɵnov(l,0).loading),n(l,17,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"submit"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent,0),"cancel")))})}function w(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[i.I18nService]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.canChange),n(l,6,0,e.canChange)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-payment",[],null,null,null,w,C)),t.ɵdid(1,49152,null,0,h.AdjustPaymentComponent,[g.ApiService,i.I18nService,m.Angulartics2,y.ToasterService],null,null)],null,null)}l.RenderType_AdjustPaymentComponent=C,l.View_AdjustPaymentComponent_0=w,l.View_AdjustPaymentComponent_Host_0=R;var _=t.ɵccf("app-adjust-payment",h.AdjustPaymentComponent,R,{currentType:"currentType",organizationId:"organizationId"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustPaymentComponentNgFactory=_},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(5),r=e(13),a=e(18),s=e(17),d=e(266),c=e(4),p=e(3),f=e(9),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(5,null,[" "," GB × "," = "," /","\n "])),t.ɵppd(6,2),t.ɵppd(7,2),t.ɵppd(8,1)],null,function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"total"))),n(l,5,0,e.storageAdjustment||0,t.ɵunv(l,5,1,n(l,6,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,5,2,n(l,7,0,t.ɵnov(l.parent,1),e.adjustedStorageTotal,"$")),t.ɵunv(l,5,3,n(l,8,0,t.ɵnov(l.parent,0),e.interval)))})}function g(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵpid(0,i.CurrencyPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,[["form",1]],null,53,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,3).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,3).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(3,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(5,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(6,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,46,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","storageAdjustment"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["class","form-control"],["id","storageAdjustment"],["max","99"],["min","0"],["name","StroageGbAdjustment"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.storageAdjustment=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,r.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(25,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[r.DefaultValueAccessor,r.ɵbc]),t.ɵdid(28,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(30,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(35,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(48,null,["\n ","\n "])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,2,"small",[["class","d-block text-muted mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(52,null,["\n ","\n "])),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,6,0,e.formPromise);n(l,25,0,"");n(l,28,0,"StroageGbAdjustment",e.storageAdjustment),n(l,35,0,e.add)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,5).ngClassUntouched,t.ɵnov(l,5).ngClassTouched,t.ɵnov(l,5).ngClassPristine,t.ɵnov(l,5).ngClassDirty,t.ɵnov(l,5).ngClassValid,t.ɵnov(l,5).ngClassInvalid,t.ɵnov(l,5).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),e.add?"addStorage":"removeStorage"))),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),e.add?"gbStorageAdd":"gbStorageRemove"))),n(l,22,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending),n(l,37,0,t.ɵnov(l,2).loading),n(l,39,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"loading")),"")),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"submit"))),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"cancel"))),n(l,52,0,t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),e.add?"storageAddNote":"storageRemoveNote")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,null,null,g,v)),t.ɵdid(1,49152,null,0,d.AdjustStorageComponent,[c.ApiService,o.I18nService,p.Angulartics2,f.ToasterService],null,null)],null,null)}l.RenderType_AdjustStorageComponent=v,l.View_AdjustStorageComponent_0=g,l.View_AdjustStorageComponent_Host_0=m;var y=t.ɵccf("app-adjust-storage",d.AdjustStorageComponent,m,{storageGbPrice:"storageGbPrice",add:"add",organizationId:"organizationId",interval:"interval"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustStorageComponentNgFactory=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(17),s=e(267),d=e(4),c=e(3),p=e(9),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,32,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"label",[["class","sr-only"],["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,5,0,l.component.formPromise)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"licenseFile"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"licenseFileDesc",e.organizationId?"bitwarden_organization_license.json":"bitwarden_premium_license.json"))),n(l,20,0,t.ɵnov(l,1).loading),n(l,22,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"loading")),"")),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"submit"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"cancel")))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-update-license",[],null,null,null,v,f)),t.ɵdid(1,49152,null,0,s.UpdateLicenseComponent,[d.ApiService,o.I18nService,c.Angulartics2,p.ToasterService],null,null)],null,null)}l.RenderType_UpdateLicenseComponent=f,l.View_UpdateLicenseComponent_0=v,l.View_UpdateLicenseComponent_Host_0=h;var g=t.ɵccf("app-update-license",s.UpdateLicenseComponent,h,{organizationId:"organizationId"},{onUpdated:"onUpdated",onCanceled:"onCanceled"},[]);l.UpdateLicenseComponentNgFactory=g},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.keys[0].key:null,e.key2=null!=this.keys&&this.keys.length>1?this.keys[1].key:null,e.key3=null!=this.keys&&this.keys.length>2?this.keys[2].key:null,e.key4=null!=this.keys&&this.keys.length>3?this.keys[3].key:null,e.key5=null!=this.keys&&this.keys.length>4?this.keys[4].key:null,e.nfc=this.nfc,n.prototype.enable.call(this,function(){return o(l,void 0,void 0,function(){var n;return i(this,function(l){switch(l.label){case 0:return this.formPromise=this.apiService.putTwoFactorYubiKey(e),[4,this.formPromise];case 1:return n=l.sent(),[4,this.processResponse(n)];case 2:return l.sent(),this.toasterService.popAsync("success",null,this.i18nService.t("yubikeysUpdated")),[2]}})})})},l.prototype.disable=function(){return n.prototype.disable.call(this,this.disablePromise)},l.prototype.remove=function(n){n.existingKey=null,n.key=null},l.prototype.processResponse=function(n){this.enabled=n.enabled,this.keys=[{key:n.key1,existingKey:this.padRight(n.key1)},{key:n.key2,existingKey:this.padRight(n.key2)},{key:n.key3,existingKey:this.padRight(n.key3)},{key:n.key4,existingKey:this.padRight(n.key4)},{key:n.key5,existingKey:this.padRight(n.key5)}],this.nfc=n.nfc||!n.enabled},l.prototype.padRight=function(n,l,e){if(void 0===l&&(l="•"),void 0===e&&(e=44),null==n||null==l||n.length>=e)return n;for(var t=(e-n.length)/l.length,u=0;u0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]

'+this.i18nService.t("twoFactorRecoveryYourCode")+":

"+this.code+'

'+new Date+"

"),n.print(),n.close()},n.prototype.formatString=function(n){return null==n?null:n.replace(/(.{4})/g,"$1 ").trim().toUpperCase()},n.prototype.processResponse=function(n){this.code=this.formatString(n.code)},n}();l.TwoFactorRecoveryComponent=u},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l,e,o,i,r,a,s=this;return u(this,function(d){switch(d.label){case 0:return[4,this.cipherService.get(this.cipherId)];case 1:return[4,d.sent().decrypt()];case 2:if(n=d.sent(),l=[],null!=n.attachments)for(e=0,o=n.attachments;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return n=this.collections.filter(function(n){return n.checked}).map(function(n){return n.id}),this.formPromise=this.cipherService.shareManyWithServer(this.shareableCiphers,this.organizationId,n),[4,this.formPromise];case 1:return l.sent(),this.onShared.emit(),this.analytics.eventTrack.next({action:"Bulk Shared Items"}),this.toasterService.popAsync("success",null,this.i18nService.t("sharedItems")),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;(n?this.collections:this.writeableCollections).forEach(function(e){return l.check(e,n)})},n}());l.BulkShareComponent=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1||!e.onlySearchName&&(!!(l.length>=8&&n.id.startsWith(l))||(null!=n.subTitle&&n.subTitle.toLowerCase().indexOf(l)>-1||!!(n.login&&null!=n.login.uri&&n.login.uri.toLowerCase().indexOf(l)>-1)))}))},n}();l.SearchCiphersPipe=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(807),o=e(5),i=e(281),r=e(131),a=e(61),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"img",[["alt",""]],[[8,"src",4]],[[null,"error"]],function(n,l,e){var u=!0;"error"===l&&(u=!1!==t.ɵnov(n,1).onError()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.FallbackSrcDirective,[t.ElementRef],{appFallbackSrc:[0,"appFallbackSrc"]},null)],function(n,l){var e=l.component;n(l,1,0,t.ɵinlineInterpolate(1,"",e.fallbackImage,""))},function(n,l){n(l,0,0,l.component.image)})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null))],null,function(n,l){var e=l.component;n(l,0,0,t.ɵinlineInterpolate(1,"fa fa-fw fa-lg ",e.icon,""))})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,d)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.imageEnabled&&e.image),n(l,6,0,!e.imageEnabled||!e.image)},null)}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-icon",[],null,null,null,p,s)),t.ɵdid(1,573440,null,0,i.IconComponent,[r.EnvironmentService,a.StateService],null,null)],null,null)}l.RenderType_IconComponent=s,l.View_IconComponent_0=p,l.View_IconComponent_Host_0=f;var v=t.ɵccf("app-vault-icon",i.IconComponent,f,{cipher:"cipher"},{},[]);l.IconComponentNgFactory=v},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&n.data.forEach(function(n){var t=new a.Collection(new d.CollectionData(n));l.push(t.decrypt().then(function(n){e.push(n)}))}),Promise.all(l)})),c.push(this.apiService.getCiphersOrganization(n).then(function(n){var l=[];return null!=n&&null!=n.data&&n.data.length>0&&n.data.forEach(function(n){var e=new r.Cipher(new s.CipherData(n));l.push(e.decrypt().then(function(n){t.push(n)}))}),Promise.all(l)})),[4,Promise.all(c)];case 1:return u.sent(),p=new Map,e.forEach(function(n){p.set(n.id,n)}),f=[],t.forEach(function(n){if(n.type===i.CipherType.Login||n.type===i.CipherType.SecureNote){var l={collections:[]};null!=n.collectionIds&&(l.collections=n.collectionIds.filter(function(n){return p.has(n)}).map(function(n){return p.get(n).name})),v.buildCommonCipher(l,n),f.push(l)}}),"csv"===l?[2,o.unparse(f)]:[2,JSON.stringify(f,null," ")]}})})},n.prototype.getFileName=function(n){void 0===n&&(n=null);var l=new Date,e=l.getFullYear()+""+this.padNumber(l.getMonth()+1,2)+this.padNumber(l.getDate(),2)+this.padNumber(l.getHours(),2)+this.padNumber(l.getMinutes(),2)+this.padNumber(l.getSeconds(),2);return"bitwarden"+(n?"_"+n:"")+"_export_"+e+".csv"},n.prototype.padNumber=function(n,l,e){void 0===e&&(e="0");var t=n.toString();return t.length>=l?t:new Array(l-t.length+1).join(e)+t},n.prototype.buildCommonCipher=function(n,l){switch(n.type=null,n.name=l.name,n.notes=l.notes,n.fields=null,n.login_uri=null,n.login_username=null,n.login_password=null,n.login_totp=null,l.fields&&l.fields.forEach(function(l){n.fields?n.fields+="\n":n.fields="",n.fields+=(l.name||"")+": "+l.value}),l.type){case i.CipherType.Login:n.type="login",n.login_username=l.login.username,n.login_password=l.login.password,n.login_totp=l.login.totp,l.login.uris&&(n.login_uri=[],l.login.uris.forEach(function(l){n.login_uri.push(l.uri)}));break;case i.CipherType.SecureNote:n.type="note";break;default:return}return n},n}();l.ExportService=c},function(n,l,e){"use strict";var t,u=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(n=n.substring(0,l)),0!==n.indexOf("!/")&&0!==n.indexOf("#/")||(n=n.substring(1));var e=[];return n.split("/").forEach(function(n){n.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?e.push("__guid__"):e.push(n)}),encodeURIComponent(e.join("/"))},n}();l.Analytics=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=0?this.browserCache=i.DeviceType.OperaBrowser:-1!==navigator.userAgent.indexOf(" Edge/")?this.browserCache=i.DeviceType.EdgeBrowser:-1!==navigator.userAgent.indexOf(" Vivaldi/")?this.browserCache=i.DeviceType.VivaldiBrowser:-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")?this.browserCache=i.DeviceType.SafariBrowser:window.chrome&&-1!==navigator.userAgent.indexOf(" Chrome/")?this.browserCache=i.DeviceType.ChromeBrowser:-1!==navigator.userAgent.indexOf(" Trident/")?this.browserCache=i.DeviceType.IEBrowser:this.browserCache=i.DeviceType.UnknownBrowser,this.browserCache)},n.prototype.getDeviceString=function(){return i.DeviceType[this.getDevice()].toLowerCase().replace("browser","")},n.prototype.isFirefox=function(){return this.getDevice()===i.DeviceType.FirefoxBrowser},n.prototype.isChrome=function(){return this.getDevice()===i.DeviceType.ChromeBrowser},n.prototype.isEdge=function(){return this.getDevice()===i.DeviceType.EdgeBrowser},n.prototype.isOpera=function(){return this.getDevice()===i.DeviceType.OperaBrowser},n.prototype.isVivaldi=function(){return this.getDevice()===i.DeviceType.VivaldiBrowser},n.prototype.isSafari=function(){return this.getDevice()===i.DeviceType.SafariBrowser},n.prototype.isIE=function(){return this.getDevice()===i.DeviceType.IEBrowser},n.prototype.isMacAppStore=function(){return!1},n.prototype.analyticsId=function(){return"UA-81915606-3"},n.prototype.getDomain=function(n){return r.Utils.getHostname(n)},n.prototype.isViewOpen=function(){return!1},n.prototype.lockTimeout=function(){return 15},n.prototype.launchUri=function(n,l){var e=document.createElement("a");e.href=n,e.target="_blank",e.rel="noreferrer noopener",e.click()},n.prototype.saveFile=function(n,l,e,t){var u=null;if(u=null==e||this.isIE()?new Blob([l]):new Blob([l],e),navigator.msSaveOrOpenBlob)navigator.msSaveBlob(u,t);else{var o=n.document.createElement("a");o.href=n.URL.createObjectURL(u),o.download=t,o.style.position="fixed",n.document.body.appendChild(o),o.click(),n.document.body.removeChild(o)}},n.prototype.getApplicationVersion=function(){return"2.0.0"},n.prototype.supportsU2f=function(n){return null!=n&&null!=n.u2f||(this.isChrome()||this.isOpera())&&!this.isMobile(n)},n.prototype.supportsDuo=function(){return!0},n.prototype.showToast=function(n,l,e,t){throw new Error("showToast not implemented")},n.prototype.showDialog=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t,r,s,d,c;return u(this,function(u){switch(u.label){case 0:if(t=[null==e?this.i18nService.t("ok"):e],null!=o&&t.unshift(o),r=document.createElement("div"),null!=i){switch((s=document.createElement("i")).classList.add("swal-custom-icon"),i){case"success":s.classList.add("fa","fa-check","text-success");break;case"warning":s.classList.add("fa","fa-warning","text-warning");break;case"error":s.classList.add("fa","fa-bolt","text-danger");break;case"info":s.classList.add("fa","fa-info-circle","text-info")}s.classList.contains("fa")&&r.appendChild(s)}return null!=l&&((d=document.createElement("div")).classList.add("swal-title"),d.appendChild(document.createTextNode(l)),r.appendChild(d)),null!=n&&((c=document.createElement("div")).classList.add("swal-text"),c.appendChild(document.createTextNode(n)),r.appendChild(c)),[4,a({content:{element:r},buttons:t})];case 1:return[2,u.sent()]}})})},n.prototype.isDev=function(){return!1},n.prototype.isSelfHost=function(){return"true"===(!1).toString()},n.prototype.copyToClipboard=function(n,l){var e=l?l.doc:window.document;if(window.clipboardData&&window.clipboardData.setData)window.clipboardData.setData("Text",n);else if(e.queryCommandSupported&&e.queryCommandSupported("copy")){var t=e.createElement("textarea");t.textContent=n,t.style.position="fixed",e.body.appendChild(t),t.select();try{e.execCommand("copy")}catch(n){console.warn("Copy to clipboard failed.",n)}finally{e.body.removeChild(t)}}},n.prototype.isMobile=function(n){var l,e=!1;return l=n.navigator.userAgent||n.navigator.vendor||n.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(l)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(l.substr(0,4)))&&(e=!0),e||null!=n.navigator.userAgent.match(/iPad/i)},n}();l.WebPlatformUtilsService=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.store=new Map}return n.prototype.get=function(n){if(this.store.has(n)){var l=this.store.get(n);return Promise.resolve(l)}return Promise.resolve(null)},n.prototype.save=function(n,l){return null==l?this.remove(n):(this.store.set(n,l),Promise.resolve())},n.prototype.remove=function(n){return this.store.delete(n),Promise.resolve()},n}();l.MemoryStorageService=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]1?"×"+l.context.$implicit.quantity:"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval)))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(11,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details")))})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,20,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,14,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(19,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,14,0,e.subscription),n(l,19,0,e.subscription)},function(n,l){var e=l.component;n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"billingPlan"))),n(l,11,0,e.billing.plan)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},d.View_UpdateLicenseComponent_0,d.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,c.UpdateLicenseComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{organizationId:[0,"organizationId"]},{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.organizationId)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense")))})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription")))})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["licenseBtn",1]],null,9,"button",[["class","btn btn-outline-secondary btn-submit ml-1"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.licensePromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense")))})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription")))})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addSeats"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeSeats")))})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-seats",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeSeats(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeSeats(!1)&&t);return t},h.View_AdjustSeatsComponent_0,h.RenderType_AdjustSeatsComponent)),t.ɵdid(1,49152,null,0,g.AdjustSeatsComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{seatPrice:[0,"seatPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.seatPrice,e.adjustSeatsAdd,e.organizationId,e.billingInterval)},null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustSeats),n(l,8,0,e.showAdjustSeats)},null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage")))})}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},m.View_AdjustStorageComponent_0,m.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,y.AdjustStorageComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.storageGbPrice,e.adjustStorageAdd,e.organizationId,e.billingInterval)},null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noPaymentMethod")))})}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,3,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,[""," ",""])),t.ɵppd(6,1),t.ɵppd(7,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(9,0,[["verifyForm",1]],0,61,"form",[["class","form-inline"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,10).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,10).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.verifyBank()&&u);return u},null,null)),t.ɵdid(10,4210688,null,0,C.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,C.ControlContainer,null,[C.NgForm]),t.ɵdid(12,16384,null,0,C.NgControlStatusGroup,[C.ControlContainer],null,null),t.ɵdid(13,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount1"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount1"],["max","99"],["min","1"],["name","Amount1"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,28)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,28).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,28)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,28)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.verifyAmount1=e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,C.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,C.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(29,16384,null,0,C.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(30,16384,null,0,C.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,C.NG_VALIDATORS,function(n){return[n]},[C.RequiredValidator]),t.ɵprd(1024,null,C.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[C.DefaultValueAccessor,C.ɵbc]),t.ɵdid(33,671744,null,0,C.NgModel,[[2,C.ControlContainer],[2,C.NG_VALIDATORS],[8,null],[2,C.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,C.NgControl,null,[C.NgModel]),t.ɵdid(35,16384,null,0,C.NgControlStatus,[C.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount2"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount2"],["max","99"],["min","1"],["name","Amount2"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,51)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,51)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,51)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.verifyAmount2=e)&&u);return u},null,null)),t.ɵdid(51,16384,null,0,C.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,C.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(52,16384,null,0,C.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(53,16384,null,0,C.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,C.NG_VALIDATORS,function(n){return[n]},[C.RequiredValidator]),t.ɵprd(1024,null,C.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[C.DefaultValueAccessor,C.ɵbc]),t.ɵdid(56,671744,null,0,C.NgModel,[[2,C.ControlContainer],[2,C.NG_VALIDATORS],[8,null],[2,C.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,C.NgControl,null,[C.NgModel]),t.ɵdid(58,16384,null,0,C.NgControlStatus,[C.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,8,"button",[["class","btn btn-outline-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(67,null,["",""])),t.ɵppd(68,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccount")),"")),n(l,13,0,e.verifyBankPromise);n(l,30,0,"");n(l,33,0,"Amount1",e.verifyAmount1);n(l,53,0,"");n(l,56,0,"Amount2",e.verifyAmount2)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccountDesc")),t.ɵunv(l,5,1,n(l,7,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccountFailureWarning"))),n(l,9,0,t.ɵnov(l,12).ngClassUntouched,t.ɵnov(l,12).ngClassTouched,t.ɵnov(l,12).ngClassPristine,t.ɵnov(l,12).ngClassDirty,t.ɵnov(l,12).ngClassValid,t.ɵnov(l,12).ngClassInvalid,t.ɵnov(l,12).ngClassPending),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent.parent,0),"amount","1"))),n(l,27,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent.parent,0),"amount","2"))),n(l,50,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending),n(l,61,0,t.ɵnov(l,9).loading),n(l,63,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent.parent,0),"loading")),"")),n(l,67,0,t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccount")))})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,X)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(8,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(9,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.paymentSource.type===e.paymentMethodType.BankAccount&&e.paymentSource.needsVerification);n(l,8,0,"fa fa-fw",n(l,9,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal))},function(n,l){n(l,10,0,l.component.paymentSource.description)})}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod")))})}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},b.View_AdjustPaymentComponent_0,b.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,S.AdjustPaymentComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{currentType:[0,"currentType"],organizationId:[1,"organizationId"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null,e.organizationId)},null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCharges")))})}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,28,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.viewInvoice(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,w.StopClickDirective,[],null,null),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-file-pdf-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"td",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(23,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(24,{"text-strike":0}),t.ɵppd(25,1),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,23,0,n(l,24,0,l.context.$implicit.refunded))},function(n,l){n(l,4,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,6,0,t.ɵnov(l.parent.parent.parent.parent,0),"invoice")),"")),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.createdDate,"mediumDate"))),n(l,17,0,l.context.$implicit.paymentSource?l.context.$implicit.paymentSource.description:"-"),n(l,20,0,l.context.$implicit.status),n(l,22,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,25,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"")),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$")))})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(5,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.charges)},null)}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,75,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePlan()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(24,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(37,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(38,{width:0}),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(44,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(51,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Q)),t.ɵdid(54,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,nn)),t.ɵdid(57,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,ln)),t.ɵdid(60,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(67,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,un)),t.ɵdid(70,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["* ",""])),t.ɵppd(74,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,e.canDownloadLicense),n(l,12,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,24,0,e.subscription&&e.canAdjustSeats),n(l,37,0,n(l,38,0,e.storageProgressWidth+"%")),n(l,44,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel&&e.paymentSource),n(l,51,0,!e.paymentSource),n(l,54,0,e.paymentSource),n(l,57,0,!e.showAdjustPayment),n(l,60,0,e.showAdjustPayment),n(l,67,0,!e.charges||!e.charges.length),n(l,70,0,e.charges&&e.charges.length)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"changeBillingPlan"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"userSeats"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"subscriptionUserSeats",e.billing.seats))),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent.parent,0),"storage"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.billing.maxStorageGb||0,e.billing.storageName||"0 MB"))),n(l,36,0,e.storagePercentage),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100))),n(l,47,0,t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent,0),"paymentMethod"))),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent,0),"charges"))),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"chargesStatement","BITWARDEN")))})}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(15,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,on)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,9,0,e.selfHosted),n(l,12,0,!e.selfHosted),n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},null)}function an(n){return t.ɵvid(0,[t.ɵpid(0,R.I18nPipe,[i.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,rn)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.billing)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"billingAndLicensing")))})}function sn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-billing",[],null,null,null,an,O)),t.ɵdid(1,114688,null,0,_.OrganizationBillingComponent,[I.TokenService,p.ApiService,A.PlatformUtilsService,i.I18nService,f.Angulartics2,v.ToasterService,E.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationBillingComponent=O,l.View_OrganizationBillingComponent_0=an,l.View_OrganizationBillingComponent_Host_0=sn;var dn=t.ɵccf("app-org-billing",_.OrganizationBillingComponent,sn,{},{},[]);l.OrganizationBillingComponentNgFactory=dn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(60),a=e(5),s=e(7),d=e(239),c=e(4),p=e(35),f=e(27),v=e(10),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc")))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"))),n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),""))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){n(l,2,0,t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled),n(l,15,0,!e.premium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.premium&&l.context.$implicit.premium),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function N(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(35,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId),n(l,24,0,n(l,25,0,!e.organizationId)),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,N,h)),t.ɵdid(1,114688,null,0,d.TwoFactorSetupComponent,[c.ApiService,p.TokenService,t.ComponentFactoryResolver,f.MessagingService,v.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=h,l.View_TwoFactorSetupComponent_0=N,l.View_TwoFactorSetupComponent_Host_0=T;var k=t.ɵccf("app-two-factor-setup",d.TwoFactorSetupComponent,T,{},{},[]);l.TwoFactorSetupComponentNgFactory=k},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(130),a=e(116),s=e(42),d=e(7),c=e(2),p=e(5),f=e(240),v=e(4),h=e(3),g=e(9),m=e(10),y=e(66),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.billingEmail=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.businessName=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["height","75"],["width","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],fontSize:[3,"fontSize"],dynamic:[4,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.org.name);n(l,33,0,"BillingEmail",e.org.billingEmail);n(l,47,0,"BusinessName",e.org.businessName);n(l,56,0,t.ɵinlineInterpolate(1,"",e.org.name,""),"75","75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"organizationName"))),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"billingEmail"))),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"businessName"))),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading),n(l,62,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=l.component;n(l,3,0,e.org.businessAddress1),n(l,6,0,e.org.businessAddress2),n(l,9,0,e.org.businessAddress3),n(l,12,0,e.org.businessCountry),n(l,15,0,e.org.businessTaxNumber)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[c.I18nService]),t.ɵqud(402653184,1,{deleteModalRef:0}),(n()(),t.ɵeld(2,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(10,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(13,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(15,0,null,null,5,"div",[["class","secondary-header border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(23,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(25,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(29,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n"])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(33,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(40,0,null,null,12,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,9,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(45,null,["",""])),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteOrganization()&&t);return t},null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deleteOrganizationTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.loading),n(l,13,0,e.org&&!e.loading),n(l,23,0,e.org&&(e.org.businessAddress1||e.org.businessTaxNumber))},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"myOrganization"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"taxInformation"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"taxInformationDesc"))),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"contactSupport"))),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"dangerZone"))),n(l,45,0,t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"dangerZoneDesc"))),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"deleteOrganization")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-account",[],null,null,null,_,C)),t.ɵdid(1,114688,null,0,f.AccountComponent,[t.ComponentFactoryResolver,v.ApiService,c.I18nService,h.Angulartics2,g.ToasterService,m.ActivatedRoute,y.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AccountComponent=C,l.View_AccountComponent_0=_,l.View_AccountComponent_Host_0=I;var A=t.ɵccf("app-org-account",f.AccountComponent,I,{},{},[]);l.AccountComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(241),s=e(21),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"two-factor");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"twoStepLogin")))})}function p(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,42,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,39,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,30,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,27,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,20,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(32,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(40,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"billing");n(l,25,0,"active"),n(l,32,0,e.access2fa),n(l,40,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myOrganization"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"billingAndLicensing")))})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-settings",[],null,null,null,p,d)),t.ɵdid(1,114688,null,0,a.SettingsComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=d,l.View_SettingsComponent_0=p,l.View_SettingsComponent_Host_0=f;var v=t.ɵccf("app-org-settings",a.SettingsComponent,f,{},{},[]);l.SettingsComponentNgFactory=v},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.groupIds=[]}}();l.OrganizationUserUpdateGroupsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.OrganizationUserUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.emails=[],this.collections=[]}}();l.OrganizationUserInviteRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUserConfirmRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(60),o=e(130),i=e(116),r=e(42),a=e(5),s=e(7),d=e(2),c=e(249),p=e(13),f=e(242),v=e(4),h=e(10),g=e(8),m=e(3),y=e(9),C=e(20),b=e(21),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-info"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.invitedCount)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.acceptedCount)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noUsersInList")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-secondary"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"invited")))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"accepted")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted d-block"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.parent.context.$implicit.name)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"owner")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"admin")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"user")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.reinvite(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-envelope-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"resendInvitation")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-success"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.confirm(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-check"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"confirm")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.groups(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-sitemap"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"groups")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"eventLogs")))})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,68,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["width","30"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-avatar",[["height","25"],["width","25"]],null,null,null,o.View_AvatarComponent_0,o.RenderType_AvatarComponent)),t.ɵdid(5,638976,null,0,i.AvatarComponent,[r.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],fontSize:[3,"fontSize"],circle:[4,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,14,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,10,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(27,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(30,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(33,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,31,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,28,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,20,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(48,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(51,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(54,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(57,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,60).onClick(e)&&u);"click"===l&&(u=!1!==o.remove(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,0,"i",[["class","fa fa-fw fa-remove"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["\n ","\n "])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit.name||l.context.$implicit.email,"25","25",14,!0),n(l,15,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,18,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,21,0,l.context.$implicit.name),n(l,27,0,l.context.$implicit.type===e.organizationUserType.Owner),n(l,30,0,l.context.$implicit.type===e.organizationUserType.Admin),n(l,33,0,l.context.$implicit.type===e.organizationUserType.User),n(l,48,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,51,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,54,0,e.accessGroups),n(l,57,0,e.accessEvents&&l.context.$implicit.status===e.organizationUserStatusType.Confirmed)},function(n,l){n(l,12,0,l.context.$implicit.email),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent,0),"remove")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(5,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(3,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(6,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function z(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[d.I18nService]),t.ɵpid(0,c.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{groupsModalRef:0}),t.ɵqud(402653184,3,{eventsModalRef:0}),(n()(),t.ɵeld(5,0,null,null,56,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,49,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,25,"div",[["class","btn-group btn-group-sm"],["role","group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(null)&&t);return t},null,null)),t.ɵdid(16,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(17,{active:0}),(n()(),t.ɵted(18,null,["\n ","\n "])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Invited)&&t);return t},null,null)),t.ɵdid(22,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(23,{active:0}),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(27,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Accepted)&&t);return t},null,null)),t.ɵdid(31,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(32,{active:0}),(n()(),t.ɵted(33,null,["\n ","\n "])),t.ɵppd(34,1),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(36,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,13,"div",[["class","ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,47)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,47).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,47)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,47)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(49,671744,null,0,p.NgModel,[[8,null],[8,null],[8,null],[2,p.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(51,16384,null,0,p.NgControlStatus,[p.NgControl],null,null),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.invite()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(64,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,F)),t.ɵdid(67,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(68,5),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,L)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["groupsTemplate",2]],null,0,null,G)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["eventsTemplate",2]],null,0,null,q)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"btn btn-outline-secondary",n(l,17,0,null==e.status));n(l,22,0,"btn btn-outline-secondary",n(l,23,0,e.status==e.organizationUserStatusType.Invited)),n(l,27,0,e.invitedCount);n(l,31,0,"btn btn-outline-secondary",n(l,32,0,e.status==e.organizationUserStatusType.Accepted)),n(l,36,0,e.acceptedCount),n(l,49,0,e.searchText),n(l,64,0,e.loading),n(l,67,0,!e.loading&&t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l,1),e.users,e.searchText,"name","email","id")))},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l,0),"people"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"all"))),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l,0),"invited"))),n(l,33,0,t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"accepted"))),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"search"))),n(l,46,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,46,0,n(l,52,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,51).ngClassUntouched,t.ɵnov(l,51).ngClassTouched,t.ɵnov(l,51).ngClassPristine,t.ɵnov(l,51).ngClassDirty,t.ɵnov(l,51).ngClassValid,t.ɵnov(l,51).ngClassInvalid,t.ɵnov(l,51).ngClassPending),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"inviteUser")))})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-people",[],null,null,null,z,S)),t.ɵdid(1,114688,null,0,f.PeopleComponent,[v.ApiService,h.ActivatedRoute,d.I18nService,t.ComponentFactoryResolver,g.PlatformUtilsService,m.Angulartics2,y.ToasterService,C.CryptoService,b.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PeopleComponent=S,l.View_PeopleComponent_0=z,l.View_PeopleComponent_Host_0=j;var B=t.ɵccf("app-org-people",f.PeopleComponent,j,{},{},[]);l.PeopleComponentNgFactory=B},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.GroupRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(60),o=e(5),i=e(7),r=e(2),a=e(249),s=e(13),d=e(243),c=e(4),p=e(10),f=e(3),v=e(9),h=e(8),g=e(21),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noGroupsInList")))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==o.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,w)),t.ɵdid(39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading),n(l,39,0,!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.groups,e.searchText,"name","id")))},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"groups"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newGroup")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-groups",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.GroupsComponent,[c.ApiService,p.ActivatedRoute,r.I18nService,t.ComponentFactoryResolver,f.Angulartics2,v.ToasterService,h.PlatformUtilsService,g.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_GroupsComponent=m,l.View_GroupsComponent_0=I,l.View_GroupsComponent_Host_0=A;var E=t.ɵccf("app-org-groups",d.GroupsComponent,A,{},{},[]);l.GroupsComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(18),i=e(17),r=e(7),a=e(2),s=e(13),d=e(244),c=e(4),p=e(10),f=e(175),v=e(9),h=e(21),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noEventsInList")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[],[[8,"className",0],[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"span",[],[[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,0,"td",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.date,"medium"))),n(l,8,0,t.ɵinlineInterpolate(1,"text-muted fa fa-lg ",l.context.$implicit.appIcon,""),t.ɵinlineInterpolate(2,"",l.context.$implicit.appName,", ",l.context.$implicit.ip,"")),n(l,13,0,t.ɵinlineInterpolate(1,"",l.context.$implicit.userEmail,"")),n(l,14,0,l.context.$implicit.userName),n(l,17,0,l.context.$implicit.message)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"table",[["class","table table-hover"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,23,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,20,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"th",[["class","border-top-0"],["width","210"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"th",[["class","border-top-0"],["width","40"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"span",[["class","sr-only"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"th",[["class","border-top-0"],["width","150"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"th",[["class","border-top-0"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(30,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,30,0,l.component.events)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"timestamp"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent,0),"device"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"user"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"event")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["moreBtn",1]],null,9,"button",[["class","btn btn-block btn-link btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!1)&&t);return t},null,null)),t.ɵdid(1,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.morePromise)},function(n,l){n(l,0,0,l.component.loaded&&t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"loadMore")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(9,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.events||!e.events.length),n(l,6,0,e.events&&e.events.length),n(l,9,0,e.continuationToken)},null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[a.I18nService]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,47,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,40,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,28,"div",[["class","form-inline"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["class","sr-only"],["for","start"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","start"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.start=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(21,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["class","mx-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["-"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["class","sr-only"],["for","end"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","end"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.end=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(36,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,[["refreshBtn",1]],null,7,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!0)&&t);return t},null,null)),t.ɵdid(41,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(44,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(45,{"fa-spin":0}),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(52,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(55,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,19,0,e.start),n(l,34,0,e.end),n(l,41,0,e.refreshPromise);n(l,44,0,"fa fa-refresh fa-fw",n(l,45,0,e.loaded&&t.ɵnov(l,40).loading)),n(l,52,0,!e.loaded),n(l,55,0,e.loaded)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"eventLogs"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"startDate"))),n(l,16,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,22,0,t.ɵnov(l,0),"startDate")),""),t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"endDate"))),n(l,31,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,31,0,n(l,37,0,t.ɵnov(l,0),"endDate")),""),t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending),n(l,40,0,e.loaded&&t.ɵnov(l,40).loading),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"refresh")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-events",[],null,null,null,R,g)),t.ɵdid(1,114688,null,0,d.EventsComponent,[c.ApiService,p.ActivatedRoute,f.EventService,a.I18nService,v.ToasterService,h.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_EventsComponent=g,l.View_EventsComponent_0=R,l.View_EventsComponent_Host_0=_;var I=t.ɵccf("app-org-events",d.EventsComponent,_,{},{},[]);l.EventsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(60),o=e(5),i=e(7),r=e(2),a=e(249),s=e(13),d=e(248),c=e(4),p=e(10),f=e(44),v=e(3),h=e(9),g=e(8),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-spinner fa-spin text-muted"]],null,null,null,null,null))],null,null)}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noCollectionsInList")))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==o.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,w)),t.ɵdid(39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading),n(l,39,0,!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.collections,e.searchText,"name","id")))},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"collections"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newCollection")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage-collections",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.CollectionsComponent,[c.ApiService,p.ActivatedRoute,f.CollectionService,t.ComponentFactoryResolver,v.Angulartics2,h.ToasterService,r.I18nService,g.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionsComponent=m,l.View_CollectionsComponent_0=I,l.View_CollectionsComponent_Host_0=A;var E=t.ɵccf("app-org-manage-collections",d.CollectionsComponent,A,{},{},[]);l.CollectionsComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(250),s=e(21),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","groups"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"groups");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"groups")))})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","events"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"events");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"eventLogs")))})}function f(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,45,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,42,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,33,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,30,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,23,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","people"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","collections"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(32,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(35,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(43,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"people");n(l,17,0,"active");n(l,24,0,"collections");n(l,25,0,"active"),n(l,32,0,e.accessGroups),n(l,35,0,e.accessEvents),n(l,43,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"manage"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"people"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"collections")))})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage",[],null,null,null,f,d)),t.ɵdid(1,114688,null,0,a.ManageComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ManageComponent=d,l.View_ManageComponent_0=f,l.View_ManageComponent_Host_0=v;var h=t.ɵccf("app-org-manage",a.ManageComponent,v,{},{},[]);l.ManageComponentNgFactory=h},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(17),s=e(40),d=e(37),c=e(46),p=e(251),f=e(3),v=e(9),h=e(20),g=e(21),m=e(8),y=e(176),C=e(10),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,51,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(19,114688,null,0,d.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(20,0,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPassword"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(33,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(36,671744,null,0,i.NgModel,[[2,i.ControlContainer],[2,i.NG_VALIDATORS],[8,null],[2,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(38,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),t.ɵdid(39,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"warning");n(l,33,0,"");n(l,36,0,"MasterPassword",e.masterPassword);n(l,39,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"exportVault"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"exportMasterPassword"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"exportWarning"))),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"masterPass"))),n(l,31,0,t.ɵnov(l,33).required?"":null,t.ɵnov(l,38).ngClassUntouched,t.ɵnov(l,38).ngClassTouched,t.ɵnov(l,38).ngClassPristine,t.ɵnov(l,38).ngClassDirty,t.ɵnov(l,38).ngClassValid,t.ɵnov(l,38).ngClassInvalid,t.ɵnov(l,38).ngClassPending),n(l,43,0,t.ɵnov(l,1).loading),n(l,45,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"loading")),"")),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"exportVault")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-export",[],null,null,null,S,b)),t.ɵdid(1,114688,null,0,p.ExportComponent,[f.Angulartics2,v.ToasterService,h.CryptoService,g.UserService,o.I18nService,m.PlatformUtilsService,y.ExportService,C.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ExportComponent=b,l.View_ExportComponent_0=S,l.View_ExportComponent_Host_0=w;var R=t.ɵccf("app-org-export",p.ExportComponent,w,{},{onSaved:"onSaved"},[]);l.ExportComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.collections=[],this.collectionRelationships=[]}}();l.ImportOrganizationCiphersRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(40),r=e(37),a=e(2),s=e(7),d=e(18),c=e(17),p=e(252),f=e(3),v=e(9),h=e(26),g=e(50),m=e(4),y=e(10),C=e(44),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(7,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click "Export CSV"\n for your "Accounts".\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the XML file.\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML (2.x)" option.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save the CSV file.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my data" to save\n the CSV file.\n ']))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..." and save the XML\n file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive (readable) in CSV format"\n and save the CSV file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the CSV file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings". Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" → "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2sMldAI"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the CSV\n file.\n ']))],null,null)}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,98,"app-callout",[["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(4,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,V)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(34,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,x)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(52,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(55,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(58,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(64,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(67,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(70,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(73,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(76,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(79,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(85,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(88,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(91,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(94,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,en)),t.ɵdid(97,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"pwsafexml"===e.format),n(l,58,0,"dashlanecsv"===e.format),n(l,61,0,"msecurecsv"===e.format),n(l,64,0,"stickypasswordxml"===e.format),n(l,67,0,"truekeycsv"===e.format),n(l,70,0,"clipperzhtml"===e.format),n(l,73,0,"roboformcsv"===e.format),n(l,76,0,"passboltcsv"===e.format),n(l,79,0,"ascendocsv"===e.format),n(l,82,0,"passwordbossjson"===e.format),n(l,85,0,"zohovaultcsv"===e.format),n(l,88,0,"splashidcsv"===e.format),n(l,91,0,"passkeepcsv"===e.format),n(l,94,0,"gnomejson"===e.format),n(l,97,0,"passwordagentcsv"===e.format)},null)}function un(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(12,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(34,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(44,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"))),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"))),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"))),n(l,64,0,t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"))),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading),n(l,77,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"")),n(l,81,0,t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData")))})}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-import",[],null,null,null,un,b)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.CipherService,g.FolderService,m.ApiService,y.Router,C.CollectionService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=b,l.View_ImportComponent_0=un,l.View_ImportComponent_Host_0=on;var rn=t.ɵccf("app-org-import",p.ImportComponent,on,{},{},[]);l.ImportComponentNgFactory=rn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(10),r=e(5),a=e(253),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,39,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,36,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,27,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,24,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,17,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(37,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,"import");n(l,17,0,"active");n(l,24,0,"export");n(l,25,0,"active"),n(l,37,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"importData"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"exportVault")))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-tools",[],null,null,null,d,s)),t.ɵdid(1,49152,null,0,a.ToolsComponent,[],null,null)],null,null)}l.RenderType_ToolsComponent=s,l.View_ToolsComponent_0=d,l.View_ToolsComponent_Host_0=c;var p=t.ɵccf("app-org-tools",a.ToolsComponent,c,{},{},[]);l.ToolsComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.User_LoggedIn=1e3]="User_LoggedIn",n[n.User_ChangedPassword=1001]="User_ChangedPassword",n[n.User_Enabled2fa=1002]="User_Enabled2fa",n[n.User_Disabled2fa=1003]="User_Disabled2fa",n[n.User_Recovered2fa=1004]="User_Recovered2fa",n[n.User_FailedLogIn=1005]="User_FailedLogIn",n[n.User_FailedLogIn2fa=1006]="User_FailedLogIn2fa",n[n.Cipher_Created=1100]="Cipher_Created",n[n.Cipher_Updated=1101]="Cipher_Updated",n[n.Cipher_Deleted=1102]="Cipher_Deleted",n[n.Cipher_AttachmentCreated=1103]="Cipher_AttachmentCreated",n[n.Cipher_AttachmentDeleted=1104]="Cipher_AttachmentDeleted",n[n.Cipher_Shared=1105]="Cipher_Shared",n[n.Cipher_UpdatedCollections=1106]="Cipher_UpdatedCollections",n[n.Collection_Created=1300]="Collection_Created",n[n.Collection_Updated=1301]="Collection_Updated",n[n.Collection_Deleted=1302]="Collection_Deleted",n[n.Group_Created=1400]="Group_Created",n[n.Group_Updated=1401]="Group_Updated",n[n.Group_Deleted=1402]="Group_Deleted",n[n.OrganizationUser_Invited=1500]="OrganizationUser_Invited",n[n.OrganizationUser_Confirmed=1501]="OrganizationUser_Confirmed",n[n.OrganizationUser_Updated=1502]="OrganizationUser_Updated",n[n.OrganizationUser_Removed=1503]="OrganizationUser_Removed",n[n.OrganizationUser_UpdatedGroups=1504]="OrganizationUser_UpdatedGroups",n[n.Organization_Updated=1600]="Organization_Updated"}(l.EventType||(l.EventType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(92),i=e(60),r=e(5),a=e(566),s=e(281),d=e(131),c=e(61),p=e(565),f=e(8),v=e(7),h=e(2),g=e(256),m=e(26),y=e(3),C=e(9),b=e(4),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.parent.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,3).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[8,null],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.$implicit.checked)},function(n,l){n(l,2,0,t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["appStopProp",""],["class","fa fa-share-alt"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(2,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),"shared")),""))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["appStopProp",""],["class","fa fa-paperclip"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(2,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),"attachments")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.copy(n.parent.context.$implicit.login.password,"password","password")&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"copyPassword")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.share(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-share-alt"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"share")))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.collections(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-cubes"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"collections")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"eventLogs")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"td",[["class","table-list-icon"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,1,"app-vault-icon",[],null,null,null,a.View_IconComponent_0,a.RenderType_IconComponent)),t.ɵdid(8,573440,null,0,s.IconComponent,[d.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,19,"td",[["class","reduced-lh"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"a",[["appStopClick",""],["appStopProp",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,14).onClick(e)&&u);"click"===l&&(u=!1!==t.ɵnov(n,15).onClick(e)&&u);"click"===l&&(u=!1!==o.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(14,16384,null,0,i.StopClickDirective,[],null,null),t.ɵdid(15,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(16,1),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(20,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(23,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"small",[["appStopProp",""]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,o.StopPropDirective,[],null,null),(n()(),t.ɵted(29,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,38,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,35,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["id","dropdownMenuButton"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,27,"div",[["aria-labelledby","dropdownMenuButton"],["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,47).onClick(e)&&u);"click"===l&&(u=!1!==o.attachments(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,0,"i",[["class","fa fa-fw fa-paperclip"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(54,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(57,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(60,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,63).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(63,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(66,null,["\n ","\n "])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.organization),n(l,8,0,l.context.$implicit),n(l,20,0,!e.organization&&l.context.$implicit.organizationId),n(l,23,0,l.context.$implicit.hasAttachments),n(l,44,0,l.context.$implicit.type===e.cipherType.Login),n(l,54,0,!e.organization&&!l.context.$implicit.organizationId),n(l,57,0,l.context.$implicit.organizationId),n(l,60,0,l.context.$implicit.organizationId&&e.accessEvents)},function(n,l){n(l,13,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,13,0,n(l,16,0,t.ɵnov(l.parent.parent.parent,1),"editItem")),"")),n(l,17,0,l.context.$implicit.name),n(l,29,0,l.context.$implicit.subTitle),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l.parent.parent.parent,1),"attachments"))),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent.parent.parent,1),"delete")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(5,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent,1),"loading")),""))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"button",[["class","btn btn-outline-primary"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1)],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,1),"addItem")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,l.component.showAddNew)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),"noItemsInList")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","no-items"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.loaded),n(l,6,0,e.loaded)},null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,l.context.ngIf.length>0),n(l,6,0,0===l.context.ngIf.length)},null)}function D(n){return t.ɵvid(0,[t.ɵpid(0,p.SearchCiphersPipe,[f.PlatformUtilsService]),t.ɵpid(0,v.I18nPipe,[h.I18nService]),(n()(),t.ɵand(16777216,null,null,2,null,x)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),e.ciphers,e.searchText)))},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-ciphers",[],null,null,null,D,S)),t.ɵdid(1,49152,null,0,g.CiphersComponent,[m.CipherService,y.Angulartics2,C.ToasterService,h.I18nService,f.PlatformUtilsService,b.ApiService],null,null)],null,null)}l.RenderType_CiphersComponent=S,l.View_CiphersComponent_0=D,l.View_CiphersComponent_Host_0=U;var F=t.ɵccf("app-org-vault-ciphers",g.CiphersComponent,U,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"},[]);l.CiphersComponentNgFactory=F},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(60),i=e(7),r=e(2),a=e(13),s=e(87),d=e(257),c=e(44),p=e(50),f=e(4),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectFavorites()&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-star"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,["","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,n(l,2,0,l.component.selectedFavorites))},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"favorites")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto show-active"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.editFolder(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-pencil fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"editFolder")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,12,"li",[["class","d-flex"]],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,4,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectFolder(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-caret-right"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(11,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"d-flex",n(l,2,0,e.selectedFolder&&l.context.$implicit.id===e.selectedFolderId)),n(l,11,0,l.context.$implicit.id)},function(n,l){n(l,8,0,l.context.$implicit.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"h3",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵeld(5,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,6).onClick(e)&&u);"click"===l&&(u=!1!==o.addFolder()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(16,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,16,0,l.component.folders)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"folders"))),n(l,5,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addFolder")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,4,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectCollection(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-caret-right"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ",""])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,n(l,2,0,l.context.$implicit.id===e.selectedCollectionId))},function(n,l){n(l,8,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,4,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(9,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.collections)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"collections")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.showFolders),n(l,6,0,e.showCollections&&e.collections&&e.collections.length)},null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,95,"div",[["class","card vault-filters"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Filters\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,89,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["appAutofocus",""],["class","form-control"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);"input"===l&&(u=!1!==o.searchTextChanged()&&u);return u},null,null)),t.ɵdid(9,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,a.NgModel,[[8,null],[8,null],[8,null],[2,a.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(13,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(14,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,16,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(20,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(21,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e)&&u);"click"===l&&(u=!1!==o.selectAll()&&u);return u},null,null)),t.ɵdid(24,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-th"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["","\n "])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(32,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,49,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(42,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(43,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,46).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Login)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-globe"]],null,null,null,null,null)),(n()(),t.ɵted(49,null,["","\n "])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(54,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(55,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,58).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Card)&&u);return u},null,null)),t.ɵdid(58,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-credit-card"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["","\n "])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(66,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(67,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,70).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Identity)&&u);return u},null,null)),t.ɵdid(70,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-id-card-o"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["","\n "])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(78,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(79,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,82).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.SecureNote)&&u);return u},null,null)),t.ɵdid(82,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-sticky-note-o"]],null,null,null,null,null)),(n()(),t.ɵted(85,null,["","\n "])),t.ɵppd(86,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(91,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(94,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,11,0,e.searchText);n(l,14,0,""),n(l,20,0,n(l,21,0,e.selectedAll)),n(l,32,0,e.showFavorites),n(l,42,0,n(l,43,0,e.selectedType===e.cipherType.Login)),n(l,54,0,n(l,55,0,e.selectedType===e.cipherType.Card)),n(l,66,0,n(l,67,0,e.selectedType===e.cipherType.Identity)),n(l,78,0,n(l,79,0,e.selectedType===e.cipherType.SecureNote)),n(l,91,0,!e.loaded),n(l,94,0,e.loaded)},function(n,l){var e=l.component;n(l,8,0,t.ɵinlineInterpolate(1,"",e.searchPlaceholder||t.ɵunv(l,8,0,n(l,15,0,t.ɵnov(l,0),"searchVault")),""),t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"allItems"))),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"types"))),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"typeLogin"))),n(l,61,0,t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l,0),"typeCard"))),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l,0),"typeIdentity"))),n(l,85,0,t.ɵunv(l,85,0,n(l,86,0,t.ɵnov(l,0),"typeSecureNote")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-groupings",[],null,null,null,R,v)),t.ɵdid(1,49152,null,0,d.GroupingsComponent,[c.CollectionService,p.FolderService,f.ApiService,r.I18nService],null,null)],null,null)}l.RenderType_GroupingsComponent=v,l.View_GroupingsComponent_0=R,l.View_GroupingsComponent_Host_0=_;var I=t.ɵccf("app-org-vault-groupings",d.GroupingsComponent,_,{showFolders:"showFolders",showCollections:"showCollections",showFavorites:"showFavorites"},{onAllClicked:"onAllClicked",onFavoritesClicked:"onFavoritesClicked",onCipherTypeClicked:"onCipherTypeClicked",onFolderClicked:"onFolderClicked",onAddFolder:"onAddFolder",onEditFolder:"onEditFolder",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"},[]);l.GroupingsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(729),r=e(257),a=e(44),s=e(50),d=e(4),c=e(728),p=e(256),f=e(26),v=e(3),h=e(9),g=e(8),m=e(255),y=e(10),C=e(21),b=e(5),S=e(66),w=e(27),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{groupingsComponent:0}),t.ɵqud(402653184,2,{ciphersComponent:0}),t.ɵqud(402653184,3,{attachmentsModalRef:0}),t.ɵqud(402653184,4,{cipherAddEditModalRef:0}),t.ɵqud(402653184,5,{collectionsModalRef:0}),t.ɵqud(402653184,6,{eventsModalRef:0}),(n()(),t.ɵeld(7,0,null,null,31,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,28,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,5,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"app-org-vault-groupings",[],null,[[null,"onAllClicked"],[null,"onCipherTypeClicked"],[null,"onCollectionClicked"],[null,"onSearchTextChanged"]],function(n,l,e){var t=!0,u=n.component;"onAllClicked"===l&&(t=!1!==u.clearGroupingFilters()&&t);"onCipherTypeClicked"===l&&(t=!1!==u.filterCipherType(e)&&t);"onCollectionClicked"===l&&(t=!1!==u.filterCollection(e.id)&&t);"onSearchTextChanged"===l&&(t=!1!==u.filterSearchText(e)&&t);return t},i.View_GroupingsComponent_0,i.RenderType_GroupingsComponent)),t.ɵdid(14,49152,[[1,4]],0,r.GroupingsComponent,[a.CollectionService,s.FolderService,d.ApiService,o.I18nService],{showFolders:[0,"showFolders"],showFavorites:[1,"showFavorites"]},{onAllClicked:"onAllClicked",onCipherTypeClicked:"onCipherTypeClicked",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,18,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,11,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(23,null,["",""])),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,4,"button",[["class","btn btn-outline-primary btn-sm ml-auto"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(29,null,["","\n "])),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"app-org-vault-ciphers",[],null,[[null,"onCipherClicked"],[null,"onAttachmentsClicked"],[null,"onAddCipher"],[null,"onCollectionsClicked"],[null,"onEventsClicked"]],function(n,l,e){var t=!0,u=n.component;"onCipherClicked"===l&&(t=!1!==u.editCipher(e)&&t);"onAttachmentsClicked"===l&&(t=!1!==u.editCipherAttachments(e)&&t);"onAddCipher"===l&&(t=!1!==u.addCipher()&&t);"onCollectionsClicked"===l&&(t=!1!==u.editCipherCollections(e)&&t);"onEventsClicked"===l&&(t=!1!==u.viewEvents(e)&&t);return t},c.View_CiphersComponent_0,c.RenderType_CiphersComponent)),t.ɵdid(34,49152,[[2,4]],0,p.CiphersComponent,[f.CipherService,v.Angulartics2,h.ToasterService,o.I18nService,g.PlatformUtilsService,d.ApiService],null,{onCipherClicked:"onCipherClicked",onAddCipher:"onAddCipher",onAttachmentsClicked:"onAttachmentsClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["attachments",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["cipherAddEdit",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["collections",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["eventsTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,14,0,!1,!1)},function(n,l){n(l,23,0,t.ɵunv(l,23,0,n(l,24,0,t.ɵnov(l,0),"vault"))),n(l,29,0,t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"addItem")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault",[],null,null,null,O,R)),t.ɵdid(1,114688,null,0,m.VaultComponent,[y.ActivatedRoute,C.UserService,b.Location,y.Router,S.SyncService,o.I18nService,t.ComponentFactoryResolver,w.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_VaultComponent=R,l.View_VaultComponent_0=O,l.View_VaultComponent_Host_0=N;var T=t.ɵccf("app-org-vault",m.VaultComponent,N,{},{},[]);l.VaultComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(130),r=e(116),a=e(42),s=e(7),d=e(2),c=e(569),p=e(284),f=e(27),v=e(8),h=e(35),g=e(568),m=e(283),y=e(258),C=e(21),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"a",[["class","nav-link"],["routerLink","settings"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,3).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(3,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(4,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-cogs"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"settings");n(l,4,0,"active")},function(n,l){n(l,2,0,t.ɵnov(l,3).target,t.ɵnov(l,3).href),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent.parent,0),"settings")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,43,"ul",[["class","nav nav-tabs"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,8,"a",[["class","nav-link"],["routerLink","vault"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(5,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(6,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,0,"i",[["class","fa fa-lock"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"a",[["class","nav-link"],["routerLink","manage"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,18).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(18,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(19,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-sliders"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"a",[["class","nav-link"],["routerLink","tools"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,31).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(31,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(32,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,0,"i",[["class","fa fa-wrench"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["\n ","\n "])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(42,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,"vault");n(l,6,0,"active");n(l,18,0,"manage");n(l,19,0,"active");n(l,31,0,"tools");n(l,32,0,"active"),n(l,42,0,e.organization.isOwner)},function(n,l){n(l,4,0,t.ɵnov(l,5).target,t.ɵnov(l,5).href),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"vault"))),n(l,17,0,t.ɵnov(l,18).target,t.ɵnov(l,18).href),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,0),"manage"))),n(l,30,0,t.ɵnov(l,31).target,t.ɵnov(l,31).href),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"tools")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,23,"div",[["class","org-nav"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,20,"div",[["class","container d-flex flex-column"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,14,"div",[["class","my-auto d-flex align-items-center pl-1"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"app-avatar",[],null,null,null,i.View_AvatarComponent_0,i.RenderType_AvatarComponent)),t.ɵdid(7,638976,null,0,r.AvatarComponent,[a.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],circle:[3,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,8,"div",[["class","org-name ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(21,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,7,0,e.organization.name,45,45,!0),n(l,21,0,e.organization.isAdmin)},function(n,l){n(l,12,0,l.component.organization.name),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organization")))})}function _(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[d.I18nService]),(n()(),t.ɵeld(1,0,null,null,1,"app-navbar",[],null,null,null,c.View_NavbarComponent_0,c.RenderType_NavbarComponent)),t.ɵdid(2,114688,null,0,p.NavbarComponent,[f.MessagingService,v.PlatformUtilsService,h.TokenService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(5,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(7,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(8,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,1,"app-footer",[],null,null,null,g.View_FooterComponent_0,g.RenderType_FooterComponent)),t.ɵdid(11,114688,null,0,m.FooterComponent,[v.PlatformUtilsService],null,null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0),n(l,5,0,e.organization),n(l,8,0),n(l,11,0)},null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-organization-layout",[],null,null,null,_,b)),t.ɵdid(1,114688,null,0,y.OrganizationLayoutComponent,[u.ActivatedRoute,C.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationLayoutComponent=b,l.View_OrganizationLayoutComponent_0=_,l.View_OrganizationLayoutComponent_Host_0=I;var A=t.ɵccf("app-organization-layout",y.OrganizationLayoutComponent,I,{},{},[]);l.OrganizationLayoutComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(5),a=e(7),s=e(13),d=e(18),c=e(17),p=e(259),f=e(129),v=e(21),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["","..."])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"reportError")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,2)],function(n,l){n(l,1,0,"success",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"goodNews")),""))},function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"breachUsernameNotFound",e.checkedUsername)))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,3)],function(n,l){n(l,1,0,"danger",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"breachFound")),""))},function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"breachUsernameFound",e.checkedUsername,e.breachedAccounts.length)))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"li",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.context.$implicit)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,64,"li",[["class","list-group-item min-height-fix"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,61,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,3,"div",[["class","col-2 text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,0,"img",[["alt",""],["class","img-fluid"]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,16,"div",[["class","col-7"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"h3",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,0,"p",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"p",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",":"])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,4,"ul",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(23,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,35,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,32,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(51,null,["",""])),t.ɵppd(52,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(59,null,["",""])),t.ɵppd(60,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,23,0,l.context.$implicit.dataClasses)},function(n,l){n(l,6,0,"https://haveibeenpwned.com/Content/Images/PwnedLogos/"+l.context.$implicit.name+"."+l.context.$implicit.logoType),n(l,12,0,l.context.$implicit.title),n(l,14,0,l.context.$implicit.description),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent.parent.parent,0),"compromisedData"))),n(l,32,0,t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent.parent.parent.parent,0),"website"))),n(l,36,0,l.context.$implicit.domain),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent.parent,0),"affectedUsers"))),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.pwnCount))),n(l,47,0,t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent.parent.parent,0),"breachOccurred"))),n(l,51,0,t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.breachDate,"mediumDate"))),n(l,55,0,t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent.parent.parent.parent,0),"breachReported"))),n(l,59,0,t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.addedDate,"mediumDate")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"ul",[["class","list-group list-group-breach"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.breachedAccounts)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(9,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.breachedAccounts.length),n(l,6,0,e.breachedAccounts.length),n(l,9,0,e.breachedAccounts.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.error),n(l,6,0,!e.error)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[i.I18nService]),t.ɵpid(0,r.DecimalPipe,[t.LOCALE_ID]),t.ɵpid(0,r.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,[["form",1]],null,38,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,15).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,15).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(15,4210688,null,0,s.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,s.ControlContainer,null,[s.NgForm]),t.ɵdid(17,16384,null,0,s.NgControlStatusGroup,[s.ControlContainer],null,null),t.ɵdid(18,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,21,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,18,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,2,"label",[["for","username"]],null,null,null,null,null)),(n()(),t.ɵted(25,null,["",""])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,7,"input",[["class","form-control"],["id","username"],["name","Username"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,29)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,29)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,29)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.username=e)&&u);return u},null,null)),t.ɵdid(29,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(30,16384,null,0,s.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,s.NG_VALIDATORS,function(n){return[n]},[s.RequiredValidator]),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,s.NgModel,[[2,s.ControlContainer],[2,s.NG_VALIDATORS],[8,null],[2,s.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(35,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(55,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,18,0,e.formPromise);n(l,30,0,"");n(l,33,0,"Username",e.username),n(l,55,0,!t.ɵnov(l,14).loading&&e.checkedUsername)},function(n,l){n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"dataBreachReport"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"breachDesc"))),n(l,14,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending),n(l,25,0,t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"username"))),n(l,28,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,38,0,t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"breachCheckUsernameEmail"))),n(l,43,0,t.ɵnov(l,14).loading),n(l,45,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"loading")),"")),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"checkBreaches")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-breach-report",[],null,null,null,_,h)),t.ɵdid(1,114688,null,0,p.BreachReportComponent,[f.AuditService,v.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_BreachReportComponent=h,l.View_BreachReportComponent_0=_,l.View_BreachReportComponent_Host_0=I;var A=t.ɵccf("app-breach-report",p.BreachReportComponent,I,{},{},[]);l.BreachReportComponentNgFactory=A},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]128&&(this.options.length=128),this.options.minNumber?this.options.minNumber>this.options.length?this.options.minNumber=this.options.length:this.options.minNumber>9&&(this.options.minNumber=9):this.options.minNumber=0,this.options.minSpecial?this.options.minSpecial>this.options.length?this.options.minSpecial=this.options.length:this.options.minSpecial>9&&(this.options.minSpecial=9):this.options.minSpecial=0,this.options.minSpecial+this.options.minNumber>this.options.length&&(this.options.minSpecial=this.options.length-this.options.minNumber)},n}();l.PasswordGeneratorComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(260),a=e(94),s=e(3),d=e(8),c=e(9),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{historyModalRef:0}),(n()(),t.ɵeld(2,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(9,0,null,null,4,"div",[["class","card card-password bg-light my-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(15,0,null,null,46,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"label",[["for","length"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"input",[["class","form-control"],["id","length"],["max","128"],["min","5"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,24)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,24)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,24)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.options.length=e)&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);return u},null,null)),t.ɵdid(24,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(25,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(27,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(29,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"label",[["for","min-number"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,6,"input",[["class","form-control"],["id","min-number"],["max","9"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"ngModelChange"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,39)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,39).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,39)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,39)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,40).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,40).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,40).onTouched()&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.minNumber=e)&&u);return u},null,null)),t.ɵdid(39,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(40,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(42,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(44,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"label",[["for","min-special"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["",""])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,6,"input",[["class","form-control"],["id","min-special"],["max","9"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"ngModelChange"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,54)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,54).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,54)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,54)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,55).onTouched()&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.minSpecial=e)&&u);return u},null,null)),t.ɵdid(54,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(55,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(57,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(59,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(63,0,null,null,67,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"input",[["class","form-check-input"],["id","uppercase"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,68).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.uppercase=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(70,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(72,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,1,"label",[["class","form-check-label"],["for","uppercase"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["A-Z"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(78,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,5,"input",[["class","form-check-input"],["id","lowercase"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,81).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,81).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.lowercase=e)&&u);return u},null,null)),t.ɵdid(81,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(83,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(85,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(87,0,null,null,1,"label",[["class","form-check-label"],["for","lowercase"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["a-z"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,5,"input",[["class","form-check-input"],["id","numbers"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,94).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,94).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.number=e)&&u);return u},null,null)),t.ɵdid(94,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(96,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(98,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,1,"label",[["class","form-check-label"],["for","numbers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["0-9"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(106,0,null,null,5,"input",[["class","form-check-input"],["id","special"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,107).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,107).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.special=e)&&u);return u},null,null)),t.ɵdid(107,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(109,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(111,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(113,0,null,null,1,"label",[["class","form-check-label"],["for","special"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["!@#$%^&*"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(117,0,null,null,12,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(119,0,null,null,5,"input",[["class","form-check-input"],["id","ambiguous"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,120).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,120).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.avoidAmbiguous=e)&&u);return u},null,null)),t.ɵdid(120,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(122,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(124,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(126,0,null,null,2,"label",[["class","form-check-label"],["for","ambiguous"]],null,null,null,null,null)),(n()(),t.ɵted(127,null,["",""])),t.ɵppd(128,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(132,0,null,null,21,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(134,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(136,0,null,null,2,"button",[["class","btn btn-primary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.regenerate()&&t);return t},null,null)),(n()(),t.ɵted(137,null,["\n ","\n "])),t.ɵppd(138,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(140,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy()&&t);return t},null,null)),(n()(),t.ɵted(141,null,["\n ","\n "])),t.ɵppd(142,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(147,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.history()&&t);return t},null,null)),t.ɵppd(148,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(150,0,null,null,0,"i",[["class","fa fa-clock-o fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["historyTemplate",2]],null,0,null,f)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,27,0,e.options.length),n(l,42,0,e.options.minNumber),n(l,57,0,e.options.minSpecial),n(l,70,0,e.options.uppercase),n(l,83,0,e.options.lowercase),n(l,96,0,e.options.number),n(l,109,0,e.options.special),n(l,122,0,e.avoidAmbiguous)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"passwordGenerator"))),n(l,12,0,e.password),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"length"))),n(l,23,0,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending),n(l,35,0,t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l,0),"minNumbers"))),n(l,38,0,t.ɵnov(l,44).ngClassUntouched,t.ɵnov(l,44).ngClassTouched,t.ɵnov(l,44).ngClassPristine,t.ɵnov(l,44).ngClassDirty,t.ɵnov(l,44).ngClassValid,t.ɵnov(l,44).ngClassInvalid,t.ɵnov(l,44).ngClassPending),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"minSpecial"))),n(l,53,0,t.ɵnov(l,59).ngClassUntouched,t.ɵnov(l,59).ngClassTouched,t.ɵnov(l,59).ngClassPristine,t.ɵnov(l,59).ngClassDirty,t.ɵnov(l,59).ngClassValid,t.ɵnov(l,59).ngClassInvalid,t.ɵnov(l,59).ngClassPending),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,80,0,t.ɵnov(l,85).ngClassUntouched,t.ɵnov(l,85).ngClassTouched,t.ɵnov(l,85).ngClassPristine,t.ɵnov(l,85).ngClassDirty,t.ɵnov(l,85).ngClassValid,t.ɵnov(l,85).ngClassInvalid,t.ɵnov(l,85).ngClassPending),n(l,93,0,t.ɵnov(l,98).ngClassUntouched,t.ɵnov(l,98).ngClassTouched,t.ɵnov(l,98).ngClassPristine,t.ɵnov(l,98).ngClassDirty,t.ɵnov(l,98).ngClassValid,t.ɵnov(l,98).ngClassInvalid,t.ɵnov(l,98).ngClassPending),n(l,106,0,t.ɵnov(l,111).ngClassUntouched,t.ɵnov(l,111).ngClassTouched,t.ɵnov(l,111).ngClassPristine,t.ɵnov(l,111).ngClassDirty,t.ɵnov(l,111).ngClassValid,t.ɵnov(l,111).ngClassInvalid,t.ɵnov(l,111).ngClassPending),n(l,119,0,t.ɵnov(l,124).ngClassUntouched,t.ɵnov(l,124).ngClassTouched,t.ɵnov(l,124).ngClassPristine,t.ɵnov(l,124).ngClassDirty,t.ɵnov(l,124).ngClassValid,t.ɵnov(l,124).ngClassInvalid,t.ɵnov(l,124).ngClassPending),n(l,127,0,t.ɵunv(l,127,0,n(l,128,0,t.ɵnov(l,0),"ambiguous"))),n(l,137,0,t.ɵunv(l,137,0,n(l,138,0,t.ɵnov(l,0),"regeneratePassword"))),n(l,141,0,t.ɵunv(l,141,0,n(l,142,0,t.ɵnov(l,0),"copyPassword"))),n(l,147,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,147,0,n(l,148,0,t.ɵnov(l,0),"passwordHistory")),""))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-password-generator",[],null,null,null,v,p)),t.ɵdid(1,114688,null,0,r.PasswordGeneratorComponent,[a.PasswordGenerationService,s.Angulartics2,d.PlatformUtilsService,o.I18nService,c.ToasterService,t.ComponentFactoryResolver],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PasswordGeneratorComponent=p,l.View_PasswordGeneratorComponent_0=v,l.View_PasswordGeneratorComponent_Host_0=h;var g=t.ɵccf("app-password-generator",r.PasswordGeneratorComponent,h,{showSelect:"showSelect"},{onSelected:"onSelected"},[]);l.PasswordGeneratorComponentNgFactory=g},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]t?l.substring(t+1):null;if(!e.isNullOrWhitespace(u)&&!e.isNullOrWhitespace(o)&&"SecretType"!==u){var i=u.toLowerCase();null==n.login.username&&e.usernameFieldNames.indexOf(i)>-1?n.login.username=o:null==n.login.password&&e.passwordFieldNames.indexOf(i)>-1?n.login.password=o:e.processKvp(n,u,o)}}})},l}(o.BaseImporter);l.ZohoVaultCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(5===n.length){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n[0],"--"),t.notes=l.getValueOrDefault(n[4]),t.login.username=l.getValueOrDefault(n[1]),t.login.password=l.getValueOrDefault(n[2]),t.login.uris=l.makeUriArray(n[3]),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.UpmCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(115),a=e(91),s=e(53),d=e(101),c=["kind","autologin","favorite","hexcolor","protectedwithpassword","subdomainonly","type","tk_export_version","note","title","document_content"],p=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.favorite="true"===l.getValueOrDefault(n.favorite,"").toLowerCase(),t.name=l.getValueOrDefault(n.name,"--"),t.notes=l.getValueOrDefault(n.memo,""),t.login.username=l.getValueOrDefault(n.login),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),"login"!==n.kind&&(t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.note,"")),"cc"===n.kind){if(t.type=s.CipherType.Card,t.card=new r.CardView,t.card.cardholderName=l.getValueOrDefault(n.cardholder),t.card.number=l.getValueOrDefault(n.number),t.card.brand=l.getCardBrand(t.card.number),!l.isNullOrWhitespace(n.expiryDate))try{var u=new Date(n.expiryDate);t.card.expYear=u.getFullYear().toString(),t.card.expMonth=(u.getMonth()+1).toString()}catch(n){}}else if("login"!==n.kind)for(var o in t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=d.SecureNoteType.Generic,l.isNullOrWhitespace(t.notes)||(t.notes=l.getValueOrDefault(n.document_content,"")),n)n.hasOwnProperty(o)&&c.indexOf(o.toLowerCase())<0&&!l.isNullOrWhitespace(n[o])&&l.processKvp(t,o,n[o]);l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.TrueKeyCsvImporter=p},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("root > Database > Logins > Login");return Array.from(u).forEach(function(n){var u=n.getAttribute("ID");if(!l.isNullOrWhitespace(u)){var o=n.getAttribute("Name"),i=n.getAttribute("Password"),r=null,a=null,s=null,d=null,c=null,p=t.querySelector('root > Database > Accounts > Account > LoginLinks > Login[SourceLoginID="'+u+'"]');if(null!=p){var f=p.parentElement.parentElement;null!=f&&(r=f.getAttribute("Name"),a=f.getAttribute("Link"),d=f.getAttribute("ParentID"),s=f.getAttribute("Comments"),l.isNullOrWhitespace(s)||(s=s.split("/n").join("\n")))}l.isNullOrWhitespace(d)||(c=l.buildGroupText(t,d,""),l.processFolder(e,c));var v=l.initLoginCipher();v.name=l.getValueOrDefault(r,"--"),v.notes=l.getValueOrDefault(s),v.login.username=l.getValueOrDefault(o),v.login.password=l.getValueOrDefault(i),v.login.uris=l.makeUriArray(a),l.cleanupCipher(v),e.ciphers.push(v)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l.prototype.buildGroupText=function(n,l,e){var t=n.querySelector('root > Database > Groups > Group[ID="'+l+'"]');return null==t?e:(this.isNullOrWhitespace(e)||(e="/"+e),e=t.getAttribute("Name")+e,this.buildGroupText(n,t.getAttribute("ParentID"),e))},l}(o.BaseImporter);l.StickyPasswordXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){l.processFolder(e,l.getValueOrDefault(n[n.length-1]));var t=l.initLoginCipher();t.notes=l.getValueOrDefault(n[n.length-2],""),t.name=l.getValueOrDefault(n[1],"--"),"Web Logins"===n[0]||"Servers"===n[0]||"Email Accounts"===n[0]?(t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),l.parseFieldsToNotes(t,5,n)):l.parseFieldsToNotes(t,2,n),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.parseFieldsToNotes=function(n,l,e){for(var t=l;t label")).forEach(function(n){var t=n.getAttribute("name"),o=n.getAttribute("id");if(!l.isNullOrWhitespace(t)&&!l.isNullOrWhitespace(o)){u.set(o,e.folders.length);var i=new r.FolderView;i.name=t,e.folders.push(i)}}),Array.from(t.querySelectorAll("database > card")).forEach(function(n){if("true"!==n.getAttribute("template")){var t=l.querySelectorDirectChild(n,"label_id");if(null!=t){var o=t.textContent;!l.isNullOrWhitespace(o)&&u.has(o)&&e.folderRelationships.push([e.ciphers.length,u.get(o)])}var i=l.initLoginCipher();i.name=l.getValueOrDefault(n.getAttribute("title"),"--"),"note"===n.getAttribute("type")?(i.type=s.CipherType.SecureNote,i.secureNote=new a.SecureNoteView,i.secureNote.type=d.SecureNoteType.Generic):Array.from(l.querySelectorAllDirectChild(n,"field")).forEach(function(n){var e=n.textContent;if(!l.isNullOrWhitespace(e)){var t=n.getAttribute("name"),u=l.getValueOrDefault(n.getAttribute("type"),"").toLowerCase();"login"===u?i.login.username=e:"password"===u?i.login.password=e:"notes"===u?i.notes+=e+"\n":"weblogin"===u||"website"===u?i.login.uris=l.makeUriArray(e):l.processKvp(i,t,e)}}),Array.from(l.querySelectorAllDirectChild(n,"notes")).forEach(function(n){i.notes+=n.textContent+"\n"}),l.cleanupCipher(i),e.ciphers.push(i)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.SafeInCloudXmlImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);if(null==t)return e.success=!1,e;var u=1;return t.forEach(function(n){var o=!l.isNullOrWhitespace(n.Folder)&&n.Folder.startsWith("/")?n.Folder.replace("/",""):n.Folder,i=l.isNullOrWhitespace(o)?null:o;l.processFolder(e,i);var r=l.initLoginCipher();r.notes=l.getValueOrDefault(n.Note),r.name=l.getValueOrDefault(n.Name,"--"),r.login.username=l.getValueOrDefault(n.Login),r.login.password=l.getValueOrDefault(n.Pwd),r.login.uris=l.makeUriArray(n.Url),l.cleanupCipher(r),u===t.length&&"--"===r.name&&l.isNullOrWhitespace(r.login.password)||(e.ciphers.push(r),u++)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.RoboFormCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelector("passwordsafe");if(null==u)return e.errorMessage="Missing `passwordsafe` node.",e.success=!1,e;var o=u.getAttribute("delimiter"),r=t.querySelectorAll("passwordsafe > entry");return Array.from(r).forEach(function(n){var t=l.querySelectorDirectChild(n,"group"),u=null==t||l.isNullOrWhitespace(t.textContent)?null:t.textContent.split(".").join("/");l.processFolder(e,u);var i=l.querySelectorDirectChild(n,"title"),r=l.querySelectorDirectChild(n,"username"),a=l.querySelectorDirectChild(n,"email"),s=l.querySelectorDirectChild(n,"password"),d=l.querySelectorDirectChild(n,"url"),c=l.querySelectorDirectChild(n,"notes"),p=l.initLoginCipher();p.name=null!=i?l.getValueOrDefault(i.textContent,"--"):"--",p.notes=null!=c?l.getValueOrDefault(c.textContent,"").split(o).join("\n"):null,p.login.username=null!=r?l.getValueOrDefault(r.textContent):null,p.login.password=null!=s?l.getValueOrDefault(s.textContent):null,p.login.uris=null!=d?l.makeUriArray(d.textContent):null,l.isNullOrWhitespace(p.login.username)&&null!=a?p.login.username=l.getValueOrDefault(a.textContent):null==a||l.isNullOrWhitespace(a.textContent)||(p.notes=l.isNullOrWhitespace(p.notes)?"Email: "+a.textContent:p.notes+"\nEmail: "+a.textContent),l.cleanupCipher(p),e.ciphers.push(p)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.PasswordSafeXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("PasswordManager > record");return Array.from(u).forEach(function(n){var t=l.querySelectorDirectChild(n,"Category"),u=null==t||l.isNullOrWhitespace(t.textContent)||"Unfiled"===t.textContent?null:t.textContent;l.processFolder(e,u);var o=l.querySelectorDirectChild(n,"Account-Name"),i=l.querySelectorDirectChild(n,"User-Id"),r=l.querySelectorDirectChild(n,"Password"),a=l.querySelectorDirectChild(n,"URL"),s=l.querySelectorDirectChild(n,"Notes"),d=l.initLoginCipher();d.name=null!=o?l.getValueOrDefault(o.textContent,"--"):"--",d.notes=null!=s?l.getValueOrDefault(s.textContent):"",d.login.username=null!=i?l.getValueOrDefault(i.textContent):null,d.login.password=null!=r?l.getValueOrDefault(r.textContent):null,d.login.uris=null!=a?l.makeUriArray(a.textContent):null;for(var c=[],p=1;p<=10;p++)c.push("Attribute-"+p);l.querySelectorAllDirectChild(n,c.join(",")).forEach(function(n){l.isNullOrWhitespace(n.textContent)||"null"===n.textContent||l.processKvp(d,n.tagName,n.textContent)}),l.cleanupCipher(d),e.ciphers.push(d)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.PasswordDragonXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(115),a=e(53),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=JSON.parse(n);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.name=l.getValueOrDefault(n.name,"--"),t.login.uris=l.makeUriArray(n.login_url),null!=n.identifiers){for(var u in l.isNullOrWhitespace(n.identifiers.notes)||(t.notes=n.identifiers.notes.split("\\r\\n").join("\n").split("\\n").join("\n")),"CreditCard"===n.type&&(t.card=new r.CardView,t.type=a.CipherType.Card),n.identifiers)if(n.identifiers.hasOwnProperty(u)){var o=n.identifiers[u],i=null!=o?o.toString():null;if(!l.isNullOrWhitespace(i)&&"notes"!==u&&"ignoreItemInSecurityScore"!==u){if(t.type===a.CipherType.Card){if("cardNumber"===u){t.card.number=i,t.card.brand=l.getCardBrand(i);continue}if("nameOnCard"===u){t.card.cardholderName=i;continue}if("security_code"===u){t.card.code=i;continue}if("expires"===u){try{var s=new Date(i);t.card.expYear=s.getFullYear().toString(),t.card.expMonth=(s.getMonth()+1).toString()}catch(n){}continue}if("cardType"===u)continue}else{if("username"===u){t.login.username=i;continue}if("password"===u){t.login.password=i;continue}if((null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(u)>-1){t.login.uris=l.makeUriArray(i);continue}}l.processKvp(t,u,i)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.PasswordBossJsonImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<9)){var t=l.getValueOrDefault(n[8],"(None)"),u="(None)"!==t?t.split("\\").join("/"):null;l.processFolder(e,u);var o=l.initLoginCipher();o.notes=l.getValueOrDefault(n[3]),o.name=l.getValueOrDefault(n[0],"--"),o.login.username=l.getValueOrDefault(n[1]),o.login.password=l.getValueOrDefault(n[2]),o.login.uris=l.makeUriArray(n[4]),l.convertToNoteIfNeeded(o),l.cleanupCipher(o),e.ciphers.push(o)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l}(o.BaseImporter);l.PasswordAgentCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.processFolder(e,l.getValue("category",n));var t=l.initLoginCipher();t.notes=l.getValue("description",n),t.name=l.getValueOrDefault(l.getValue("title",n),"--"),t.login.username=l.getValue("username",n),t.login.password=l.getValue("password",n),t.login.uris=l.makeUriArray(l.getValue("site",n)),l.processKvp(t,"Password 2",l.getValue("password2",n)),l.cleanupCipher(t),e.ciphers.push(t)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.getValue=function(n,l){return this.getValueOrDefault(l[n],this.getValueOrDefault(l[" "+n]))},l}(o.BaseImporter);l.PassKeepCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(177),a=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=null;return t.forEach(function(n){if(null!=u){if(!(n.length<2||n.length!==u.length)){if(!l.isNullOrWhitespace(n[1]))if(l.organization){(t=n[1].split(",")).forEach(function(n){n=n.trim();for(var l=!0,t=e.collections.length,u=0;u0?t[0].trim():null;l.processFolder(e,o)}var i=l.initLoginCipher();i.name=l.getValueOrDefault(n[0],"--");for(var a=2;a-1?i.login.username=n[a]:l.passwordFieldNames.indexOf(s)>-1?i.login.password=n[a]:l.uriFieldNames.indexOf(s)>-1?i.login.uris=l.makeUriArray(n[a]):l.processKvp(i,u[a],n[a]))}l.cleanupCipher(i),e.ciphers.push(i)}}else u=n.map(function(n){return n})}),e.success=!0,e},l}(o.BaseImporter);l.PadlockCsvImporter=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.View=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(538);l.AttachmentView=t.AttachmentView;var u=e(115);l.CardView=u.CardView;var o=e(157);l.CipherView=o.CipherView;var i=e(179);l.FieldView=i.FieldView;var r=e(217);l.IdentityView=r.IdentityView;var a=e(216);l.LoginUriView=a.LoginUriView;var s=e(156);l.LoginView=s.LoginView;var d=e(91);l.SecureNoteView=d.SecureNoteView;var c=e(752);l.View=c.View},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(53),a=e(753),s=["ainfo","autosubmit","notesPlain","ps","scope","tags","title","uuid"],d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!l.isNullOrWhitespace(n.title)){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.notesPlain,"")+"\n",l.isNullOrWhitespace(n.number)||l.isNullOrWhitespace(n["expiry date"])||(t.type=r.CipherType.Card,t.card=new a.CardView);var u=null;for(var o in n)if(n.hasOwnProperty(o)&&!l.isNullOrWhitespace(n[o])){if(t.type===r.CipherType.Login){if(l.isNullOrWhitespace(t.login.password)&&"password"===o){t.login.password=n[o];continue}if(l.isNullOrWhitespace(t.login.username)&&"username"===o){t.login.username=n[o];continue}if((null==t.login.uris||0===t.login.uri.length)&&"urls"===o){var i=n[o].split(l.newLineRegex);t.login.uris=l.makeUriArray(i);continue}}else if(t.type===r.CipherType.Card){if(l.isNullOrWhitespace(t.card.number)&&"number"===o){t.card.number=n[o],t.card.brand=l.getCardBrand(n.number);continue}if(l.isNullOrWhitespace(t.card.code)&&"verification number"===o){t.card.code=n[o];continue}if(l.isNullOrWhitespace(t.card.cardholderName)&&"cardholder name"===o){t.card.cardholderName=n[o];continue}if(l.isNullOrWhitespace(t.card.expiration)&&"expiry date"===o&&6===n[o].length){t.card.expMonth=n[o].substr(4,2),"0"===t.card.expMonth[0]&&(t.card.expMonth=t.card.expMonth.substr(1,1)),t.card.expYear=n[o].substr(0,4);continue}if("type"===o)continue}-1!==s.indexOf(o)||o.startsWith("section:")||(null==u&&"email"===o&&(u=n[o]),l.processKvp(t,o,n[o]))}t.type===r.CipherType.Login&&!l.isNullOrWhitespace(u)&&l.isNullOrWhitespace(t.login.username)&&-1===u.indexOf("://")&&(t.login.username=u),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.OnePasswordWinCsvImporter=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(115),a=e(91),s=e(53),d=e(101),c=function(n){function l(){var l=null!==n&&n.apply(this,arguments)||this;return l.result=new i.ImportResult,l}return u(l,n),l.prototype.parse=function(n){var l=this;return n.split(this.newLineRegex).forEach(function(n){if(!l.isNullOrWhitespace(n)&&"{"===n[0]){var e=JSON.parse(n),t=l.initLoginCipher();t.favorite=!(!e.openContents||!e.openContents.faveIndex),t.name=l.getValueOrDefault(e.title,"--"),"securenotes.SecureNote"===e.typeName?(t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=d.SecureNoteType.Generic):"wallet.financial.CreditCard"===e.typeName?(t.type=s.CipherType.Card,t.card=new r.CardView):t.login.uris=l.makeUriArray(e.location),null!=e.secureContents&&(l.isNullOrWhitespace(e.secureContents.notesPlain)||(t.notes=e.secureContents.notesPlain.split(l.newLineRegex).join("\n")+"\n"),null!=e.secureContents.fields&&l.parseFields(e.secureContents.fields,t,"designation","value","name"),null!=e.secureContents.sections&&e.secureContents.sections.forEach(function(n){null!=n.fields&&l.parseFields(n.fields,t,"n","v","t")})),l.cleanupCipher(t),l.result.ciphers.push(t)}}),this.result.success=!0,this.result},l.prototype.parseFields=function(n,l,e,t,u){var o=this;n.forEach(function(n){if(null!=n[t]&&""!==n[t].toString().trim()){var i=n[t].toString(),r=null!=n[e]?n[e].toString():null;if(l.type===s.CipherType.Login){if(o.isNullOrWhitespace(l.login.username)&&"username"===r)return void(l.login.username=i);if(o.isNullOrWhitespace(l.login.password)&&"password"===r)return void(l.login.password=i);if(o.isNullOrWhitespace(l.login.totp)&&null!=r&&r.startsWith("TOTP_"))return void(l.login.totp=i)}else if(l.type===s.CipherType.Card){if(o.isNullOrWhitespace(l.card.number)&&"ccnum"===r)return l.card.number=i,void(l.card.brand=o.getCardBrand(i));if(o.isNullOrWhitespace(l.card.code)&&"cvv"===r)return void(l.card.code=i);if(o.isNullOrWhitespace(l.card.cardholderName)&&"cardholder"===r)return void(l.card.cardholderName=i);if(o.isNullOrWhitespace(l.card.expiration)&&"expiry"===r&&6===i.length)return l.card.expMonth=i.substr(4,2),"0"===l.card.expMonth[0]&&(l.card.expMonth=l.card.expMonth.substr(1,1)),void(l.card.expYear=i.substr(0,4));if("type"===r)return}var a=o.isNullOrWhitespace(n[u])?"no_name":n[u];o.processKvp(l,a,i)}})},l}(o.BaseImporter);l.OnePassword1PifImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(53),a=e(101),s=e(91),d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){var t="Unassigned"!==l.getValueOrDefault(n[0],"Unassigned")?n[0]:null;l.processFolder(e,t);var u=l.initLoginCipher();if(u.name=l.getValueOrDefault(n[2],"--"),"Web Logins"===n[1])u.login.uris=l.makeUriArray(n[4]),u.login.username=l.getValueOrDefault(n[5]),u.login.password=l.getValueOrDefault(n[6]),u.notes=l.isNullOrWhitespace(n[3])?null:n[3].split("\\n").join("\n");else if(n.length>3){u.type=r.CipherType.SecureNote,u.secureNote=new s.SecureNoteView,u.secureNote.type=a.SecureNoteType.Generic;for(var o=3;o-1){var e=n.ccexp.split("-");e.length>1&&(l.expYear=e[0],l.expMonth=e[1],2===l.expMonth.length&&"0"===l.expMonth[0]&&(l.expMonth=l.expMonth[1]))}return l},l.prototype.parseIdentity=function(n){var l=new d.IdentityView;return l.title=this.getValueOrDefault(n.title),l.firstName=this.getValueOrDefault(n.firstname),l.middleName=this.getValueOrDefault(n.middlename),l.lastName=this.getValueOrDefault(n.lastname),l.username=this.getValueOrDefault(n.username),l.company=this.getValueOrDefault(n.company),l.ssn=this.getValueOrDefault(n.ssn),l.address1=this.getValueOrDefault(n.address1),l.address2=this.getValueOrDefault(n.address2),l.address3=this.getValueOrDefault(n.address3),l.city=this.getValueOrDefault(n.city),l.state=this.getValueOrDefault(n.state),l.postalCode=this.getValueOrDefault(n.zip),l.country=this.getValueOrDefault(n.country),l.email=this.getValueOrDefault(n.email),l.phone=this.getValueOrDefault(n.phone),this.isNullOrWhitespace(l.title)||(l.title=l.title.charAt(0).toUpperCase()+l.title.slice(1)),l},l.prototype.parseSecureNote=function(n,l){var e=this.splitNewLine(n.extra),t=!1;if(e.length){var u=e[0].split(":");if(u.length>1&&"NoteType"===u[0]&&("Credit Card"===u[1]||"Address"===u[1])){if("Credit Card"===u[1]){var o=this.parseSecureNoteMapping(e,{Number:"number","Name on Card":"cardholderName","Security Code":"code"});l.type=f.CipherType.Card,l.card=o[0],l.notes=o[1]}else if("Address"===u[1]){o=this.parseSecureNoteMapping(e,{Title:"title","First Name":"firstName","Last Name":"lastName","Middle Name":"middleName",Company:"company","Address 1":"address1","Address 2":"address2","Address 3":"address3","City / Town":"city",State:"state","Zip / Postal Code":"postalCode",Country:"country","Email Address":"email",Username:"username"});l.type=f.CipherType.Identity,l.identity=o[0],l.notes=o[1]}t=!0}}t||(l.secureNote=new p.SecureNoteView,l.secureNote.type=v.SecureNoteType.Generic,l.notes=this.getValueOrDefault(n.extra))},l.prototype.parseSecureNoteMapping=function(n,l){var e=this,t=null,u={};return n.forEach(function(n){var o=n.split(":");o.length<1||e.isNullOrWhitespace(o[0])||e.isNullOrWhitespace(o[1])||"NoteType"===o[0]||("Notes"===o[0]?e.isNullOrWhitespace(t)?t=o[1]:t+="\n"+o[1]:l.hasOwnProperty(o[0])?u[l[o[0]]]=o[1]:(e.isNullOrWhitespace(t)?t="":t+="\n",t+=o[0]+": "+o[1]))}),[u,t]},l}(o.BaseImporter);l.LastPassCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<6)){l.processFolder(e,n[0]);var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[5])+"\n",t.name=l.getValueOrDefault(n[1],"--"),t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),n.length>7)for(var u=7;u Root > Group");return null==e?(this.result.errorMessage="Missing `KeePassFile > Root > Group` node.",this.result.success=!1,this.result):(this.traverse(e,!0,""),this.organization&&this.moveFoldersToCollections(this.result),this.result.success=!0,this.result)},l.prototype.traverse=function(n,l,e){var t=this,u=this.result.folders.length,o=e;if(!l){""!==o&&(o+="/");var i=this.querySelectorDirectChild(n,"Name");o+=null==i?"-":i.textContent;var a=new r.FolderView;a.name=o,this.result.folders.push(a)}this.querySelectorAllDirectChild(n,"Entry").forEach(function(n){var e=t.result.ciphers.length,o=t.initLoginCipher();t.querySelectorAllDirectChild(n,"String").forEach(function(n){var l=t.querySelectorDirectChild(n,"Value"),e=null!=l?l.textContent:null;if(!t.isNullOrWhitespace(e)){var u=t.querySelectorDirectChild(n,"Key"),i=null!=u?u.textContent:null;"URL"===i?o.login.uris=t.makeUriArray(e):"UserName"===i?o.login.username=e:"Password"===i?o.login.password=e:"Title"===i?o.name=e:"Notes"===i?o.notes+=e+"\n":t.processKvp(o,i,e)}}),t.cleanupCipher(o),t.result.ciphers.push(o),l||t.result.folderRelationships.push([e,u])}),this.querySelectorAllDirectChild(n,"Group").forEach(function(n){t.traverse(n,!1,o)})},l}(o.BaseImporter);l.KeePass2XmlImporter=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=JSON.parse(n);if(null==t||0===Object.keys(t).length)return e.success=!1,e;var u=function(n){if(!t.hasOwnProperty(n)||o.isNullOrWhitespace(n)||0===t[n].length)return"continue";t[n].forEach(function(t){if(!l.isNullOrWhitespace(t.display_name)&&0===t.display_name.indexOf("http")){l.processFolder(e,n);var u=l.initLoginCipher();if(u.name=t.display_name.replace("http://","").replace("https://",""),u.name.length>30&&(u.name=u.name.substring(0,30)),u.login.password=l.getValueOrDefault(t.secret),u.login.uris=l.makeUriArray(t.display_name),null!=t.attributes)for(var o in u.login.username=null!=t.attributes?l.getValueOrDefault(t.attributes.username_value):null,t.attributes)t.attributes.hasOwnProperty(o)&&"username_value"!==o&&"xdg:schema"!==o&&l.processKvp(u,o,t.attributes[o]);l.convertToNoteIfNeeded(u),l.cleanupCipher(u),e.ciphers.push(u)}})},o=this;for(var r in t)u(r);return this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.GnomeJsonImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(l.nameFromUrl(n.hostname),"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.hostname),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.FirefoxCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(53),a=e(101),s=e(115),d=e(91),c=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=!0;return t.forEach(function(n){if(n.length<2||u&&"Title"===n[0])u=!1;else{var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),(2===n.length||n.indexOf("Username")<0&&n.indexOf("Password")<0&&n.indexOf("Email")&&n.indexOf("URL")<0)&&(t.type=r.CipherType.SecureNote,t.secureNote=new d.SecureNoteView,t.secureNote.type=a.SecureNoteType.Generic),n.indexOf("Cardholder")>-1&&n.indexOf("Number")>-1&&n.indexOf("Expiry date")>-1&&(t.type=r.CipherType.Card,t.card=new s.CardView),n.length>2&&n.length%2==0)for(var o=0;o-1?t.login.password=l.getValueOrDefault(o.value):null==t.login.username&&l.usernameFieldNames.indexOf(i)>-1?t.login.username=l.getValueOrDefault(o.value):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(i)>-1?t.login.uris=l.makeUriArray(o.value):l.processKvp(t,o.label,o.value)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.ClipperzHtmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.ChromeCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){"null"===n.label&&(n.label=null);var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.label,l.getValueOrDefault(l.nameFromUrl(n.domain),"--")),t.login.uris=l.makeUriArray(n.domain),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.email)&&!l.isNullOrWhitespace(n.username)?t.login.username=n.username:(t.login.username=l.getValueOrDefault(n.email),t.notes=l.getValueOrDefault(n.username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.BlurCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(157),a=e(177),s=e(179),d=e(156),c=e(91),p=e(53),f=e(219),v=e(101),h=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.organization&&!l.isNullOrWhitespace(n.collections)?n.collections.split(",").forEach(function(n){for(var l=!0,t=e.collections.length,u=0;ui+2&&(h.value=u[o].substr(i+2)),t.fields.push(h)}}switch(null!=n.type?n.type.toLowerCase():null){case"login":case null:t.type=p.CipherType.Login,t.login=new d.LoginView,t.login.totp=l.getValueOrDefault(n.login_totp||n.totp),t.login.username=l.getValueOrDefault(n.login_username||n.username),t.login.password=l.getValueOrDefault(n.login_password||n.password);var g=l.parseSingleRowCsv(n.login_uri||n.uri);t.login.uris=l.makeUriArray(g);break;case"note":t.type=p.CipherType.SecureNote,t.secureNote=new c.SecureNoteView,t.secureNote.type=v.SecureNoteType.Generic}e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.BitwardenCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,l.getValueOrDefault(l.nameFromUrl(n.website),"--")),t.login.uris=l.makeUriArray(n.website),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.username)&&!l.isNullOrWhitespace(n.secondary_username)?t.login.username=n.secondary_username:(t.login.username=l.getValueOrDefault(n.username),t.notes=l.getValueOrDefault(n.secondary_username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.AviraCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<2)){var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),n.length>2&&n.length%2==0)for(var u=0;u-1?t.login.password=l.getValueOrDefault(o):null==t.login.username&&l.usernameFieldNames.indexOf(r)>-1?t.login.username=l.getValueOrDefault(o):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(r)>-1?t.login.uris=l.makeUriArray(o):l.processKvp(t,i,o)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.AscendoCsvImporter=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.folders=[],this.folderRelationships=[]}}();l.ImportCiphersRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(40),r=e(37),a=e(2),s=e(7),d=e(18),c=e(17),p=e(214),f=e(3),v=e(9),h=e(26),g=e(50),m=e(4),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(7,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV file.\n ']))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click "Export CSV"\n for your "Accounts".\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the XML file.\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML (2.x)" option.\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save the CSV file.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my data" to save\n the CSV file.\n ']))],null,null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..." and save the XML\n file.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive (readable) in CSV format"\n and save the CSV file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the CSV file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings". Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" → "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2sMldAI"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the CSV\n file.\n ']))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,98,"app-callout",[["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,R)),t.ɵdid(4,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,V)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(34,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,D)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(52,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(55,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(58,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(64,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(67,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(70,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(73,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(76,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(79,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(85,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(88,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(91,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(94,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(97,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"pwsafexml"===e.format),n(l,58,0,"dashlanecsv"===e.format),n(l,61,0,"msecurecsv"===e.format),n(l,64,0,"stickypasswordxml"===e.format),n(l,67,0,"truekeycsv"===e.format),n(l,70,0,"clipperzhtml"===e.format),n(l,73,0,"roboformcsv"===e.format),n(l,76,0,"passboltcsv"===e.format),n(l,79,0,"ascendocsv"===e.format),n(l,82,0,"passwordbossjson"===e.format),n(l,85,0,"zohovaultcsv"===e.format),n(l,88,0,"splashidcsv"===e.format),n(l,91,0,"passkeepcsv"===e.format),n(l,94,0,"gnomejson"===e.format),n(l,97,0,"passwordagentcsv"===e.format)},null)}function tn(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(12,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(34,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(44,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"))),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"))),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"))),n(l,64,0,t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"))),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading),n(l,77,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"")),n(l,81,0,t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData")))})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-import",[],null,null,null,tn,C)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.CipherService,g.FolderService,m.ApiService,y.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=C,l.View_ImportComponent_0=tn,l.View_ImportComponent_Host_0=un;var on=t.ɵccf("app-import",p.ImportComponent,un,{},{},[]);l.ImportComponentNgFactory=on},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(10),r=e(5),a=e(261),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,65,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,62,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,53,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,32,"div",[["class","card mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,25,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","generator"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,32).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(32,671744,[[6,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(33,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,16,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,9,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,6,"a",[["class","list-group-item"],["routerLink","breach-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,50).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(50,671744,[[8,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(51,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(54,null,["\n ","\n "])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(63,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,"generator");n(l,17,0,"active");n(l,24,0,"import");n(l,25,0,"active");n(l,32,0,"export");n(l,33,0,"active");n(l,50,0,"breach-report");n(l,51,0,"active"),n(l,63,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"passwordGenerator"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"importData"))),n(l,31,0,t.ɵnov(l,32).target,t.ɵnov(l,32).href),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"exportVault"))),n(l,44,0,t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"reports"))),n(l,49,0,t.ɵnov(l,50).target,t.ɵnov(l,50).href),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"dataBreachReport")))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-tools",[],null,null,null,d,s)),t.ɵdid(1,49152,null,0,a.ToolsComponent,[],null,null)],null,null)}l.RenderType_ToolsComponent=s,l.View_ToolsComponent_0=d,l.View_ToolsComponent_Host_0=c;var p=t.ɵccf("app-tools",a.ToolsComponent,c,{},{},[]);l.ToolsComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationCreateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(5),a=e(269),s=e(127),d=e(2),c=e(8),p=e(7),f=e(262),v=e(4),h=e(3),g=e(9),m=e(20),y=e(10),C=e(66),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(10,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFileOrg"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"))),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_organization_license.json"))),n(l,25,0,t.ɵnov(l,6).loading),n(l,27,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,12,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.businessName=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,"BusinessName",l.component.businessName)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"businessName"))),n(l,8,0,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,29,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFree"],["name","PlanType"],["type","radio"],["value","free"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,18,"label",[["class","form-check-label"],["for","planFree"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","free");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFree"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFree","1"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"limitedUsers","2"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"limitedCollections","2"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"freeForever")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,47,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFamilies"],["name","PlanType"],["type","radio"],["value","families"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,36,"label",[["class","form-check-label"],["for","planFamilies"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["• ",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(30,null,["• ",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["• ",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["• ",""])),t.ɵppd(39,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(42,null,[""," /",", ",""])),t.ɵppd(43,2),t.ɵppd(44,1),t.ɵppd(45,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","families");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFamilies"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFamilies"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"addShareLimitedUsers","5"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"createUnlimitedCollections"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,0),"onPremHostingOptional"))),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l.parent.parent,0),"priorityCustomerSupport"))),n(l,38,0,t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent.parent,0),"xDayFreeTrial","7"))),n(l,42,0,t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,1),1,"$")),t.ɵunv(l,42,1,n(l,44,0,t.ɵnov(l.parent.parent,0),"month")),t.ɵunv(l,42,2,n(l,45,0,t.ɵnov(l.parent.parent,0),"includesXUsers",5)))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,23,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,20,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,9,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","1"],["name","AdditionalSeats"],["required",""],["type","number"]],[[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,15)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,15)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,15)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,16).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(15,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(16,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(17,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(20,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(22,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,17,0,"");n(l,20,0,"AdditionalSeats",e.additionalSeats)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"userSeats"))),n(l,14,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,14,0,n(l,23,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),""),t.ɵnov(l,17).required?"":null,t.ɵnov(l,22).ngClassUntouched,t.ɵnov(l,22).ngClassTouched,t.ɵnov(l,22).ngClassPristine,t.ɵnov(l,22).ngClassDirty,t.ɵnov(l,22).ngClassValid,t.ɵnov(l,22).ngClassInvalid,t.ɵnov(l,22).ngClassPending),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsHowManyDesc")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","0"],["name","AdditionalSeats"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,10).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(12,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(14,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,2),t.ɵppd(20,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,12,0,"AdditionalSeats",l.component.additionalSeats)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"additionalUserSeats"))),n(l,8,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),""),t.ɵnov(l,14).ngClassUntouched,t.ɵnov(l,14).ngClassTouched,t.ɵnov(l,14).ngClassPristine,t.ɵnov(l,14).ngClassDirty,t.ɵnov(l,14).ngClassValid,t.ɵnov(l,14).ngClassInvalid,t.ɵnov(l,14).ngClassPending),n(l,18,0,t.ɵunv(l,18,0,n(l,20,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsAdditionalDesc",e.plans[e.plan].baseSeats,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")))))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," ×12 "," = ","\n /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1),t.ɵppd(5,2),t.ɵppd(6,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"basePrice")),t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].basePrice,"$")),t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),t.ɵunv(l,1,3,n(l,5,0,t.ɵnov(l.parent.parent.parent,1),e.baseTotal(!0),"$")),t.ɵunv(l,1,4,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"year")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"additionalUsers")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"users")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," ×12 "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),t.ɵppd(10,2),t.ɵppd(11,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component;n(l,7,0,e.additionalSeats||0,t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")),t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent,1),e.seatTotal(!0),"$")),t.ɵunv(l,7,4,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"year")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"basePrice")),t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,1),e.baseTotal(!1),"$")),t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"month")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"additionalUsers")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"users")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,2),t.ɵppd(10,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component;n(l,7,0,e.additionalSeats||0,t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,1),e.plans[e.plan].monthlySeatPrice,"$")),t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,1),e.seatTotal(!1),"$")),t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent.parent,0),"month")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","intervalMonthly"],["name","BillingInterval"],["type","radio"],["value","month"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.interval=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,15,"label",[["class","form-check-label"],["for","intervalMonthly"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(14,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(17,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"small",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["\n ",": "," × "," = "," /","\n "])),t.ɵppd(21,1),t.ɵppd(22,2),t.ɵppd(23,2),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"BillingInterval","month");n(l,6,0,"BillingInterval",e.interval),n(l,14,0,e.plans[e.plan].monthlyBasePrice),n(l,17,0,!e.plans[e.plan].noAdditionalSeats)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"monthly"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,20,2,n(l,22,0,t.ɵnov(l.parent.parent.parent,1),e.storageGb.monthlyPrice,"$")),t.ɵunv(l,20,3,n(l,23,0,t.ɵnov(l.parent.parent.parent,1),e.additionalStorageTotal(!1),"$")),t.ɵunv(l,20,4,n(l,24,0,t.ɵnov(l.parent.parent.parent,0),"month")))})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,94,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,21)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,21).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,21)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,21)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,22).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(22,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(24,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(26,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,2),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,27,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,6,"input",[["class","form-check-input"],["id","intervalAnnually"],["name","BillingInterval"],["type","radio"],["value","year"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,43)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,43).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,43)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,43)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,44).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,44).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.interval=e)&&u);return u},null,null)),t.ɵdid(43,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(44,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(46,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(48,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,16,"label",[["class","form-check-label"],["for","intervalAnnually"]],null,null,null,null,null)),(n()(),t.ɵted(51,null,["\n ","\n "])),t.ɵppd(52,1),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(54,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(57,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["\n ",": "," × "," ×12 "," = "," /","\n "])),t.ɵppd(61,1),t.ɵppd(62,2),t.ɵppd(63,1),t.ɵppd(64,2),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",":"])),t.ɵppd(78,1),(n()(),t.ɵted(79,null,[" "," /","\n "])),t.ɵppd(80,2),t.ɵppd(81,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(83,0,null,null,3,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(84,null,["",""])),t.ɵppd(85,1),t.ɵppd(86,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(89,null,["",""])),t.ɵppd(90,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(92,0,null,null,1,"app-payment",[],null,null,null,a.View_PaymentComponent_0,a.RenderType_PaymentComponent)),t.ɵdid(93,245760,[[1,4]],0,s.PaymentComponent,[d.I18nService,c.PlatformUtilsService],{hidePaypal:[0,"hidePaypal"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.plans[e.plan].noAdditionalSeats&&!e.plans[e.plan].baseSeats),n(l,10,0,!e.plans[e.plan].noAdditionalSeats&&e.plans[e.plan].baseSeats);n(l,24,0,"AdditionalStorageGb",e.additionalStorage);n(l,44,0,"BillingInterval","year");n(l,46,0,"BillingInterval",e.interval),n(l,54,0,e.plans[e.plan].annualBasePrice),n(l,57,0,!e.plans[e.plan].noAdditionalSeats),n(l,70,0,e.plans[e.plan].monthlySeatPrice);n(l,93,0,!0)},function(n,l){var e=l.component;n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addons"))),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb"))),n(l,20,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"additionalStorageGbDesc")),""),t.ɵnov(l,26).ngClassUntouched,t.ɵnov(l,26).ngClassTouched,t.ɵnov(l,26).ngClassPristine,t.ɵnov(l,26).ngClassDirty,t.ɵnov(l,26).ngClassValid,t.ɵnov(l,26).ngClassInvalid,t.ɵnov(l,26).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"additionalStorageDesc","1 GB",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$"))))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"summary"))),n(l,42,0,t.ɵnov(l,48).ngClassUntouched,t.ɵnov(l,48).ngClassTouched,t.ɵnov(l,48).ngClassPristine,t.ɵnov(l,48).ngClassDirty,t.ɵnov(l,48).ngClassValid,t.ɵnov(l,48).ngClassInvalid,t.ɵnov(l,48).ngClassPending),n(l,51,0,t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent.parent,0),"annually"))),n(l,60,0,t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,60,2,n(l,62,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$")),t.ɵunv(l,60,3,n(l,63,0,t.ɵnov(l.parent.parent,0),"monthAbbr")),t.ɵunv(l,60,4,n(l,64,0,t.ɵnov(l.parent.parent,1),e.additionalStorageTotal(!0),"$")),t.ɵunv(l,60,5,n(l,65,0,t.ɵnov(l.parent.parent,0),"year"))),n(l,77,0,t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l.parent.parent,0),"total"))),n(l,79,0,t.ɵunv(l,79,0,n(l,80,0,t.ɵnov(l.parent.parent,1),e.total,"USD $")),t.ɵunv(l,79,1,n(l,81,0,t.ɵnov(l.parent.parent,0),e.interval))),n(l,84,0,t.ɵunv(l,84,0,n(l,86,0,t.ɵnov(l.parent.parent,0),"paymentChargedWithTrial",t.ɵunv(l,84,0,n(l,85,0,t.ɵnov(l.parent.parent,0),e.interval))))),n(l,89,0,t.ɵunv(l,89,0,n(l,90,0,t.ɵnov(l.parent.parent,0),"paymentInformation")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,198,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,33,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.name=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(23,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(25,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.billingEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(41,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,12,"div",[["class","form-group form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,5,"input",[["class","form-check-input"],["id","ownedBusiness"],["name","OwnedBusiness"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,48).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.ownedBusiness=e)&&u);"change"===l&&(u=!1!==o.changedOwnedBusiness()&&u);return u},null,null)),t.ɵdid(48,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(50,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(52,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"label",[["class","form-check-label"],["for","ownedBusiness"]],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(60,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(67,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,46,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,6,"input",[["class","form-check-input"],["id","planTeams"],["name","PlanType"],["type","radio"],["value","teams"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,75)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,75).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,75)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,75)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,76).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,76).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(75,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(76,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(78,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(80,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,35,"label",[["class","form-check-label"],["for","planTeams"]],null,null,null,null,null)),(n()(),t.ɵted(83,null,["\n ","\n "])),t.ɵppd(84,1),(n()(),t.ɵeld(85,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(86,null,["",""])),t.ɵppd(87,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(89,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(90,null,["• ",""])),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(94,null,["• ",""])),t.ɵppd(95,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(97,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(98,null,["• ",""])),t.ɵppd(99,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(102,null,["• ",""])),t.ɵppd(103,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(105,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(106,null,["• ",""])),t.ɵppd(107,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,7,"span",[],null,null,null,null,null)),(n()(),t.ɵted(110,null,[""," /",", ",", ","\n "," /",""])),t.ɵppd(111,2),t.ɵppd(112,1),t.ɵppd(113,2),t.ɵppd(114,1),t.ɵppd(115,2),t.ɵppd(116,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,59,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(122,0,null,null,6,"input",[["class","form-check-input"],["id","planEnterprise"],["name","PlanType"],["type","radio"],["value","enterprise"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,123)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,123).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,123)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,123)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,124).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,124).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(123,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(124,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(126,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(128,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(130,0,null,null,48,"label",[["class","form-check-label"],["for","planEnterprise"]],null,null,null,null,null)),(n()(),t.ɵted(131,null,["\n ","\n "])),t.ɵppd(132,1),(n()(),t.ɵeld(133,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(134,null,["",""])),t.ɵppd(135,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(137,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(138,null,["• ",""])),t.ɵppd(139,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(141,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(142,null,["• ",""])),t.ɵppd(143,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(146,null,["• ",""])),t.ɵppd(147,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(149,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(150,null,["• ",""])),t.ɵppd(151,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(153,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(154,null,["• ",""])),t.ɵppd(155,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(157,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(158,null,["• ",""])),t.ɵppd(159,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(161,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(162,null,["• ",""])),t.ɵppd(163,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(165,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(166,null,["• ",""])),t.ɵppd(167,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(169,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(170,null,["• ",""])),t.ɵppd(171,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(173,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(174,null,[""," /",""])),t.ɵppd(175,2),t.ɵppd(176,2),t.ɵppd(177,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(182,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(184,0,null,null,13,"div",[],null,null,null,null,null)),t.ɵdid(185,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(186,{"mt-4":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(188,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(190,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(191,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(193,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(194,null,["",""])),t.ɵppd(195,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,20,0,"");n(l,23,0,"Name",e.name);n(l,36,0,"");n(l,39,0,"BillingEmail",e.billingEmail);n(l,50,0,"OwnedBusiness",e.ownedBusiness),n(l,60,0,e.ownedBusiness),n(l,67,0,!e.ownedBusiness),n(l,70,0,!e.ownedBusiness);n(l,76,0,"PlanType","teams");n(l,78,0,"PlanType",e.plan);n(l,124,0,"PlanType","enterprise");n(l,126,0,"PlanType",e.plan),n(l,182,0,!e.plans[e.plan].noPayment),n(l,185,0,n(l,186,0,e.plans[e.plan].noPayment))},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"generalInformation"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organizationName"))),n(l,18,0,t.ɵnov(l,20).required?"":null,t.ɵnov(l,25).ngClassUntouched,t.ɵnov(l,25).ngClassTouched,t.ɵnov(l,25).ngClassPristine,t.ɵnov(l,25).ngClassDirty,t.ɵnov(l,25).ngClassValid,t.ɵnov(l,25).ngClassInvalid,t.ɵnov(l,25).ngClassPending),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"billingEmail"))),n(l,34,0,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,47,0,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending),n(l,55,0,t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent,0),"accountOwnedBusiness"))),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent,0),"chooseYourPlan"))),n(l,74,0,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending),n(l,83,0,t.ɵunv(l,83,0,n(l,84,0,t.ɵnov(l.parent,0),"planNameTeams"))),n(l,86,0,t.ɵunv(l,86,0,n(l,87,0,t.ɵnov(l.parent,0),"planDescTeams"))),n(l,90,0,t.ɵunv(l,90,0,n(l,91,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"))),n(l,94,0,t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"))),n(l,98,0,t.ɵunv(l,98,0,n(l,99,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,102,0,t.ɵunv(l,102,0,n(l,103,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"))),n(l,106,0,t.ɵunv(l,106,0,n(l,107,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"))),n(l,110,0,t.ɵunv(l,110,0,n(l,111,0,t.ɵnov(l.parent,1),5,"$")),t.ɵunv(l,110,1,n(l,112,0,t.ɵnov(l.parent,0),"month")),t.ɵunv(l,110,2,n(l,113,0,t.ɵnov(l.parent,0),"includesXUsers",5)),t.ɵunv(l,110,3,n(l,114,0,t.ɵnov(l.parent,0),"additionalUsers")).toLowerCase(),t.ɵunv(l,110,4,n(l,115,0,t.ɵnov(l.parent,1),2,"$")),t.ɵunv(l,110,5,n(l,116,0,t.ɵnov(l.parent,0),"month"))),n(l,122,0,t.ɵnov(l,128).ngClassUntouched,t.ɵnov(l,128).ngClassTouched,t.ɵnov(l,128).ngClassPristine,t.ɵnov(l,128).ngClassDirty,t.ɵnov(l,128).ngClassValid,t.ɵnov(l,128).ngClassInvalid,t.ɵnov(l,128).ngClassPending),n(l,131,0,t.ɵunv(l,131,0,n(l,132,0,t.ɵnov(l.parent,0),"planNameEnterprise"))),n(l,134,0,t.ɵunv(l,134,0,n(l,135,0,t.ɵnov(l.parent,0),"planDescEnterprise"))),n(l,138,0,t.ɵunv(l,138,0,n(l,139,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"))),n(l,142,0,t.ɵunv(l,142,0,n(l,143,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"))),n(l,146,0,t.ɵunv(l,146,0,n(l,147,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,150,0,t.ɵunv(l,150,0,n(l,151,0,t.ɵnov(l.parent,0),"controlAccessWithGroups"))),n(l,154,0,t.ɵunv(l,154,0,n(l,155,0,t.ɵnov(l.parent,0),"trackAuditLogs"))),n(l,158,0,t.ɵunv(l,158,0,n(l,159,0,t.ɵnov(l.parent,0),"syncUsersFromDirectory"))),n(l,162,0,t.ɵunv(l,162,0,n(l,163,0,t.ɵnov(l.parent,0),"onPremHostingOptional"))),n(l,166,0,t.ɵunv(l,166,0,n(l,167,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"))),n(l,170,0,t.ɵunv(l,170,0,n(l,171,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"))),n(l,174,0,t.ɵunv(l,174,0,n(l,176,0,t.ɵnov(l.parent,0),"costPerUser",t.ɵunv(l,174,0,n(l,175,0,t.ɵnov(l.parent,1),3,"$")))),t.ɵunv(l,174,1,n(l,177,0,t.ɵnov(l.parent,0),"month"))),n(l,188,0,t.ɵnov(l,0).loading),n(l,190,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,190,0,n(l,191,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,194,0,t.ɵunv(l,194,0,n(l,195,0,t.ɵnov(l.parent,0),"submit")))})}function F(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[d.I18nService]),t.ɵpid(0,r.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(15,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(18,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},function(n,l){n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"newOrganization"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"newOrganizationDesc")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-create-organization",[],null,null,null,F,b)),t.ɵdid(1,114688,null,0,f.CreateOrganizationComponent,[v.ApiService,d.I18nService,h.Angulartics2,g.ToasterService,c.PlatformUtilsService,m.CryptoService,y.Router,C.SyncService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CreateOrganizationComponent=b,l.View_CreateOrganizationComponent_0=F,l.View_CreateOrganizationComponent_Host_0=L;var G=t.ɵccf("app-create-organization",f.CreateOrganizationComponent,L,{},{},[]);l.CreateOrganizationComponentNgFactory=G},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PaymentRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StorageRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(18),a=e(17),s=e(5),d=e(544),c=e(267),p=e(4),f=e(3),v=e(9),h=e(543),g=e(266),m=e(542),y=e(265),C=e(7),b=e(263),S=e(35),w=e(8),R=e(10),_=t.ɵcrt({encapsulation:2,styles:[],data:{}});function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["",""])),t.ɵppd(4,1)],function(n,l){n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"canceled")),""))},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"subscriptionCanceled")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,[["reinstateBtn",1]],0,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reinstate()&&t);return t},null,null)),t.ɵdid(9,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"pendingCancellation")),"")),n(l,9,0,e.reinstatePromise)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"subscriptionPendingCanceled"))),n(l,8,0,t.ɵnov(l,8).loading),n(l,11,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"loading")),"")),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"reinstateSubscription")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,2)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,1),e.billing.expiration,"mediumDate")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"neverExpires")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(7,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(10,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,e.billing.expiration),n(l,10,0,!e.billing.expiration)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"expiration")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"pendingCancellation")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n "," "," @ ","\n "])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,l.context.$implicit.name,l.context.$implicit.quantity>1?"×"+l.context.$implicit.quantity:"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval)))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(11,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,26,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,23,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,7,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"span",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(16,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,3,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["","\n "])),t.ɵppd(25,2),t.ɵppd(26,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(31,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,16,0,e.subscriptionMarkedForCancel),n(l,31,0,e.subscription)},function(n,l){var e=l.component;n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"status"))),n(l,13,0,e.subscription&&e.subscription.status||"-"),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"nextCharge"))),n(l,24,0,e.nextInvoice?t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,1),e.nextInvoice.date,"mediumDate"))+", "+t.ɵunv(l,24,0,n(l,26,0,t.ɵnov(l.parent.parent,2),e.nextInvoice.amount,"$")):"-")})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},d.View_UpdateLicenseComponent_0,d.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,c.UpdateLicenseComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],null,{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/billing"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription")))})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription")))})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","ml-1 btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage")))})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},h.View_AdjustStorageComponent_0,h.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,g.AdjustStorageComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){n(l,1,0,4,l.component.adjustStorageAdd)},null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noPaymentMethod")))})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(3,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(4,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(5,null,["\n ","\n "]))],function(n,l){var e=l.component;n(l,3,0,"fa fa-fw",n(l,4,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal))},function(n,l){n(l,5,0,l.component.paymentSource.description)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod")))})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},m.View_AdjustPaymentComponent_0,m.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,y.AdjustPaymentComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{currentType:[0,"currentType"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null)},null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCharges")))})}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,1,"td",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(13,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(14,{"text-strike":0}),t.ɵppd(15,1),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,13,0,n(l,14,0,l.context.$implicit.refunded))},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.createdDate,"mediumDate"))),n(l,7,0,l.context.$implicit.paymentSource?l.context.$implicit.paymentSource.description:"-"),n(l,10,0,l.context.$implicit.status),n(l,12,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,15,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"")),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$")))})}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(5,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.charges)},null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,60,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(22,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(23,{width:0}),(n()(),t.ɵted(24,null,["",""])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(36,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(39,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(42,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(45,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(52,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(55,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["* ",""])),t.ɵppd(59,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.subscription||!e.subscription.cancelled),n(l,8,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,22,0,n(l,23,0,e.storageProgressWidth+"%")),n(l,29,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel&&e.paymentSource),n(l,36,0,!e.paymentSource),n(l,39,0,e.paymentSource),n(l,42,0,!e.showAdjustPayment),n(l,45,0,e.showAdjustPayment),n(l,52,0,!e.charges||!e.charges.length),n(l,55,0,e.charges&&e.charges.length)},function(n,l){var e=l.component;n(l,12,0,t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent,0),"storage"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.billing.maxStorageGb||0,e.billing.storageName||"0 MB"))),n(l,21,0,e.storagePercentage),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100))),n(l,32,0,t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent.parent,0),"paymentMethod"))),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l.parent.parent,0),"charges"))),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent.parent,0),"chargesStatement","BITWARDEN")))})}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(20,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(23,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(26,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,20,0,e.selfHosted),n(l,23,0,!e.selfHosted),n(l,26,0,e.selfHosted),n(l,29,0,!e.selfHosted)},function(n,l){n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent,0),"subscription"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"premiumMembership")))})}function X(n){return t.ɵvid(0,[t.ɵpid(0,C.I18nPipe,[i.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.billing)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"billingAndLicensing")))})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-billing",[],null,null,null,X,_)),t.ɵdid(1,114688,null,0,b.UserBillingComponent,[S.TokenService,p.ApiService,w.PlatformUtilsService,i.I18nService,f.Angulartics2,v.ToasterService,R.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserBillingComponent=_,l.View_UserBillingComponent_0=X,l.View_UserBillingComponent_Host_0=Q;var nn=t.ɵccf("app-user-billing",b.UserBillingComponent,Q,{},{},[]);l.UserBillingComponentNgFactory=nn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(269),a=e(127),s=e(2),d=e(8),c=e(7),p=e(5),f=e(40),v=e(37),h=e(268),g=e(4),m=e(3),y=e(9),C=e(35),b=e(10),S=e(27),w=e(66),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/premium"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"purchasePremium")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(10,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFilePremium"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"))),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_premium_license.json"))),n(l,25,0,t.ɵnov(l,6).loading),n(l,27,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,20).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(22,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(24,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,2),t.ɵppd(30,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(37,null,["\n ",": ","\n "])),t.ɵppd(38,1),t.ɵppd(39,2),(n()(),t.ɵeld(40,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(41,null,[" ",": "," GB × "," = ","\n "])),t.ɵppd(42,1),t.ɵppd(43,2),t.ɵppd(44,2),(n()(),t.ɵeld(45,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(50,null,["",":"])),t.ɵppd(51,1),(n()(),t.ɵted(52,null,[" "," /","\n "])),t.ɵppd(53,2),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,2,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(57,null,["",""])),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["",""])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,1,"app-payment",[],null,null,null,r.View_PaymentComponent_0,r.RenderType_PaymentComponent)),t.ɵdid(65,245760,[[1,4]],0,a.PaymentComponent,[s.I18nService,d.PlatformUtilsService],{hideBank:[0,"hideBank"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(73,null,["",""])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,22,0,"AdditionalStorageGb",e.additionalStorage);n(l,65,0,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"addons"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"additionalStorageGb"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,25,0,t.ɵnov(l.parent,0),"additionalStorageGbDesc")),""),t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,30,0,t.ɵnov(l.parent,0),"additionalStorageDesc","1 GB",t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$"))))),n(l,35,0,t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l.parent,0),"summary"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent,0),"premiumMembership")),t.ɵunv(l,37,1,n(l,39,0,t.ɵnov(l.parent,1),e.premiumPrice,"$"))),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,41,2,n(l,43,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,41,3,n(l,44,0,t.ɵnov(l.parent,1),e.additionalStorageTotal,"$"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l.parent,0),"total"))),n(l,52,0,t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l.parent,1),e.total,"USD $")),t.ɵunv(l,52,1,n(l,54,0,t.ɵnov(l.parent,0),"year"))),n(l,57,0,t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l.parent,0),"paymentChargedAnnually"))),n(l,61,0,t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l.parent,0),"paymentInformation"))),n(l,67,0,t.ɵnov(l,0).loading),n(l,69,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent,0),"submit")))})}function E(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[s.I18nService]),t.ɵpid(0,p.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,49,"app-callout",[["type","success"]],null,null,null,f.View_CalloutComponent_0,f.RenderType_CalloutComponent)),t.ɵdid(11,114688,null,0,v.CalloutComponent,[s.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(13,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(17,0,null,0,31,"ul",[["class","fa-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(34,null,["\n ","\n "])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(40,null,["\n ","\n "])),t.ɵppd(41,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(50,0,null,0,5,"p",[["class","text-lg"]],null,null,null,null,null)),t.ɵdid(51,278528,null,0,p.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(52,{"mb-0":0}),(n()(),t.ɵted(53,null,["",""])),t.ɵppd(54,2),t.ɵppd(55,2),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(58,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(62,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(65,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,11,0,"success");n(l,51,0,"text-lg",n(l,52,0,!e.selfHosted)),n(l,58,0,e.selfHosted),n(l,62,0,e.selfHosted),n(l,65,0,!e.selfHosted)},function(n,l){var e=l.component;n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"goPremium"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"premiumUpgradeUnlockFeatures"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"premiumSignUpStorage"))),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"premiumSignUpTwoStep"))),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"premiumSignUpTotp"))),n(l,40,0,t.ɵunv(l,40,0,n(l,41,0,t.ɵnov(l,0),"premiumSignUpSupport"))),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"premiumSignUpFuture"))),n(l,53,0,t.ɵunv(l,53,0,n(l,55,0,t.ɵnov(l,0),"premiumPrice",t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,1),e.premiumPrice,"$")))))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-premium",[],null,null,null,E,R)),t.ɵdid(1,114688,null,0,h.PremiumComponent,[g.ApiService,s.I18nService,m.Angulartics2,y.ToasterService,d.PlatformUtilsService,C.TokenService,b.Router,S.MessagingService,w.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PremiumComponent=R,l.View_PremiumComponent_0=E,l.View_PremiumComponent_Host_0=O;var N=t.ɵccf("app-premium",h.PremiumComponent,O,{},{},[]);l.PremiumComponentNgFactory=N},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorYubioOtpRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorU2fRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorEmailRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorDuoRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.TwoFactorProviderRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorAuthenticatorRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(60),a=e(5),s=e(7),d=e(215),c=e(4),p=e(35),f=e(27),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"))),n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode")))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){n(l,2,0,t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled),n(l,15,0,!e.premium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.premium&&l.context.$implicit.premium),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(35,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,w)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId),n(l,24,0,n(l,25,0,!e.organizationId)),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,O,v)),t.ɵdid(1,114688,null,0,d.TwoFactorSetupComponent,[c.ApiService,p.TokenService,t.ComponentFactoryResolver,f.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=v,l.View_TwoFactorSetupComponent_0=O,l.View_TwoFactorSetupComponent_Host_0=N;var T=t.ɵccf("app-two-factor-setup",d.TwoFactorSetupComponent,N,{},{},[]);l.TwoFactorSetupComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UpdateDomainsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(60),r=e(7),a=e(2),s=e(18),d=e(17),c=e(271),p=e(4),f=e(3),v=e(9),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,24,"div",[["class","form-group d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,15,"div",[["class","flex-fill"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["class","sr-only"]],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,8,"textarea",[["class","form-control"],["required",""]],[[8,"id",0],[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.custom[n.context.index]=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.remove(n.context.index)&&t);return t},null,null)),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,10,0,""),n(l,13,0,t.ɵinlineInterpolate(1,"CustomDomain[",l.context.index,"]"),e.custom[l.context.index])},function(n,l){n(l,4,0,t.ɵinlineInterpolate(1,"customDomain_",l.context.index,"")),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"customDomainX",l.context.index+1))),n(l,8,0,t.ɵinlineInterpolate(1,"customDomain_",l.context.index,""),t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,1,n(l,16,0,t.ɵnov(l.parent.parent,0),"ex"))," google.com, gmail.com"),t.ɵnov(l,10).required?"":null,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,19,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l.parent.parent,0),"remove")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(3,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"button",[["class","btn btn-outline-secondary btn-sm mb-2"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"small",[["class","text-muted d-block mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.custom,e.indexTrackBy)},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"newCustomDomain"))),n(l,12,0,t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent,0),"newCustomDomainDesc")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.toggleExcluded(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-close"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"exclude")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.toggleExcluded(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-plus"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"include")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,33,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"td",[],null,null,null,null,null)),t.ɵdid(3,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(4,{"table-list-strike":0}),(n()(),t.ɵted(5,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,25,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,22,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,14,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,25).onClick(e)&&u);"click"===l&&(u=!1!==o.customize(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-fw fa-scissors"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,n(l,4,0,l.context.$implicit.excluded)),n(l,19,0,!l.context.$implicit.excluded),n(l,22,0,l.context.$implicit.excluded)},function(n,l){n(l,5,0,l.context.$implicit.domains),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent,0),"customize")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.global)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(12,0,[["form",1]],null,45,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,13).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,13).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(13,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(15,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(16,540672,null,0,s.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"h2",[],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(23,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(26,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,e.formPromise),n(l,23,0,e.loading),n(l,26,0,!e.loading),n(l,43,0,e.loading),n(l,46,0,!e.loading&&e.global.length>0)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"domainRules"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"domainRulesDesc"))),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"customEqDomains"))),n(l,28,0,t.ɵnov(l,12).loading),n(l,30,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"loading")),"")),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"save"))),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"globalEqDomains"))),n(l,48,0,t.ɵnov(l,12).loading),n(l,50,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"loading")),"")),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"save")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-domain-rules",[],null,null,null,_,h)),t.ɵdid(1,114688,null,0,c.DomainRulesComponent,[p.ApiService,a.I18nService,f.Angulartics2,v.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_DomainRulesComponent=h,l.View_DomainRulesComponent_0=_,l.View_DomainRulesComponent_Host_0=I;var A=t.ɵccf("app-domain-rules",c.DomainRulesComponent,I,{},{},[]);l.DomainRulesComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(7),i=e(2),r=e(5),a=e(272),s=e(117),d=e(61),c=e(3),p=e(9),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function h(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(12,0,null,null,72,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,13).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,13).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(13,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(15,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,35,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,32,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,29,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"label",[["for","locale"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/localization/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,9,"select",[["class","form-control"],["id","locale"],["name","Locale"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,37).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,37).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.locale=e)&&u);return u},null,null)),t.ɵdid(37,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(39,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(41,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(44,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,25,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,18,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,5,"input",[["class","form-check-input"],["id","disableIcons"],["name","DisableIcons"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,59).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,59).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.disableIcons=e)&&u);return u},null,null)),t.ɵdid(59,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(61,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(63,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"label",[["class","form-check-label"],["for","disableIcons"]],null,null,null,null,null)),(n()(),t.ɵted(66,null,["\n ","\n "])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,4,"a",[["href","https://help.bitwarden.com/article/website-icons/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",""])),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,2,"button",[["class","btn btn-primary"],["type","submit"]],null,null,null,null,null)),(n()(),t.ɵted(82,null,["\n ","\n "])),t.ɵppd(83,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,39,0,"Locale",e.locale),n(l,44,0,e.localeOptions);n(l,61,0,"DisableIcons",e.disableIcons)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"options"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"optionsDesc"))),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"language"))),n(l,29,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"learnMore")),"")),n(l,36,0,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"languageDesc"))),n(l,58,0,t.ɵnov(l,63).ngClassUntouched,t.ɵnov(l,63).ngClassTouched,t.ɵnov(l,63).ngClassPristine,t.ɵnov(l,63).ngClassDirty,t.ɵnov(l,63).ngClassValid,t.ɵnov(l,63).ngClassInvalid,t.ɵnov(l,63).ngClassPending),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l,0),"disableIcons"))),n(l,69,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l,0),"learnMore")),"")),n(l,77,0,t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"disableIconsDesc"))),n(l,82,0,t.ɵunv(l,82,0,n(l,83,0,t.ɵnov(l,0),"save")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-options",[],null,null,null,h,f)),t.ɵdid(1,114688,null,0,a.OptionsComponent,[s.StorageService,d.StateService,c.Angulartics2,i.I18nService,p.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OptionsComponent=f,l.View_OptionsComponent_0=h,l.View_OptionsComponent_Host_0=g;var m=t.ɵccf("app-options",a.OptionsComponent,g,{},{},[]);l.OptionsComponentNgFactory=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.PasswordRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(40),r=e(37),a=e(13),s=e(18),d=e(17),c=e(46),p=e(553),f=e(4),v=e(3),h=e(9),g=e(20),m=e(27),y=e(21),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(2,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(3,0,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(6,0,[["form",1]],null,72,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,a.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,a.ControlContainer,null,[a.NgForm]),t.ɵdid(9,16384,null,0,a.NgControlStatusGroup,[a.ControlContainer],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,55,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,52,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","currentMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","currentMasterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.currentMasterPassword=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(27,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(29,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(30,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"label",[["for","newMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","newMasterPassword"],["name","NewMasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,40)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,40).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,40)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,40)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.newMasterPassword=e)&&u);return u},null,null)),t.ɵdid(40,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(41,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(44,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(46,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(47,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","confirmNewMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","confirmNewMasterPassword"],["name","ConfirmNewMasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,57)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,57).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,57)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,57)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.confirmNewMasterPassword=e)&&u);return u},null,null)),t.ɵdid(57,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(58,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(61,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(63,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(64,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(72,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(75,null,["",""])),t.ɵppd(76,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,"warning"),n(l,10,0,e.formPromise);n(l,24,0,"");n(l,27,0,"MasterPasswordHash",e.currentMasterPassword);n(l,30,0,"");n(l,41,0,"");n(l,44,0,"NewMasterPasswordHash",e.newMasterPassword);n(l,47,0,"");n(l,58,0,"");n(l,61,0,"ConfirmNewMasterPasswordHash",e.confirmNewMasterPassword);n(l,64,0,"")},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),"loggedOutWarning"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"currentMasterPass"))),n(l,22,0,t.ɵnov(l,24).required?"":null,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"newMasterPass"))),n(l,39,0,t.ɵnov(l,41).required?"":null,t.ɵnov(l,46).ngClassUntouched,t.ɵnov(l,46).ngClassTouched,t.ɵnov(l,46).ngClassPristine,t.ɵnov(l,46).ngClassDirty,t.ɵnov(l,46).ngClassValid,t.ɵnov(l,46).ngClassInvalid,t.ɵnov(l,46).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"confirmNewMasterPass"))),n(l,56,0,t.ɵnov(l,58).required?"":null,t.ɵnov(l,63).ngClassUntouched,t.ɵnov(l,63).ngClassTouched,t.ɵnov(l,63).ngClassPristine,t.ɵnov(l,63).ngClassDirty,t.ɵnov(l,63).ngClassValid,t.ɵnov(l,63).ngClassInvalid,t.ɵnov(l,63).ngClassPending),n(l,69,0,t.ɵnov(l,6).loading),n(l,71,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,71,0,n(l,72,0,t.ɵnov(l,0),"loading")),"")),n(l,75,0,t.ɵunv(l,75,0,n(l,76,0,t.ɵnov(l,0),"changeMasterPassword")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-change-password",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,p.ChangePasswordComponent,[f.ApiService,o.I18nService,v.Angulartics2,h.ToasterService,g.CryptoService,m.MessagingService,y.UserService],null,null)],null,null)}l.RenderType_ChangePasswordComponent=C,l.View_ChangePasswordComponent_0=b,l.View_ChangePasswordComponent_Host_0=S;var w=t.ɵccf("app-change-password",p.ChangePasswordComponent,S,{},{},[]);l.ChangePasswordComponentNgFactory=w},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(554).EmailTokenRequest);l.EmailRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(13),a=e(46),s=e(7),d=e(18),c=e(17),p=e(5),f=e(555),v=e(4),h=e(3),g=e(9),m=e(20),y=e(27),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(9,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(10,0,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,21,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,18,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"label",[["for","token"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","token"],["name","Token"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,24)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,24)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,24)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.token=e)&&u);return u},null,null)),t.ɵdid(24,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(25,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(28,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(30,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(31,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,"warning");n(l,25,0,"");n(l,28,0,"Token",e.token);n(l,31,0,"")},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"changeEmailDesc",e.newEmail))),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent,0),"loggedOutWarning"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent,0),"code"))),n(l,23,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"continue")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"changeEmail")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reset()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"cancel")))})}function _(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,63,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(4,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(5,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,38,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,35,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[8,"readOnly",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(24,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(25,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","newEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,8,"input",[["appInputVerbatim","false"],["class","form-control"],["id","newEmail"],["inputmode","email"],["name","NewEmail"],["required",""],["type","text"]],[[8,"readOnly",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.newEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(41,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(42,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(48,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,10,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(56,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(59,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(63,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"");n(l,22,0,"MasterPasswordHash",e.masterPassword);n(l,25,0,"");n(l,36,0,"");n(l,39,0,"NewEmail",e.newEmail);n(l,42,0,"false"),n(l,48,0,e.tokenSent),n(l,56,0,!e.tokenSent),n(l,59,0,e.tokenSent),n(l,63,0,e.tokenSent)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"masterPass"))),n(l,17,0,e.tokenSent,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"newEmail"))),n(l,34,0,e.tokenSent,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,50,0,t.ɵnov(l,1).loading),n(l,52,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"loading")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-change-email",[],null,null,null,_,C)),t.ɵdid(1,49152,null,0,f.ChangeEmailComponent,[v.ApiService,i.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.MessagingService],null,null)],null,null)}l.RenderType_ChangeEmailComponent=C,l.View_ChangeEmailComponent_0=_,l.View_ChangeEmailComponent_Host_0=I;var A=t.ɵccf("app-change-email",f.ChangeEmailComponent,I,{},{},[]);l.ChangeEmailComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.culture="en-US",this.name=n,this.masterPasswordHint=l||null}}();l.UpdateProfileRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(130),a=e(116),s=e(42),d=e(7),c=e(2),p=e(5),f=e(556),v=e(4),h=e(3),g=e(9),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","email"],["name","Email"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.email=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","masterPasswordHint"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","masterPasswordHint"],["name","MasterPasswordHint"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.masterPasswordHint=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["height","75"],["width","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],fontSize:[3,"fontSize"],dynamic:[4,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.profile.name);n(l,33,0,"Email",e.profile.email);n(l,47,0,"MasterPasswordHint",e.profile.masterPasswordHint);n(l,56,0,t.ɵinlineInterpolate(1,"",e.profile.name||e.profile.email,""),"75","75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"name"))),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"email"))),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"masterPassHintLabel"))),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading),n(l,62,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save")))})}function b(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[c.I18nService]),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(2,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(5,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,e.loading),n(l,5,0,e.profile&&!e.loading)},null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-profile",[],null,null,null,b,m)),t.ɵdid(1,114688,null,0,f.ProfileComponent,[v.ApiService,c.I18nService,h.Angulartics2,g.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ProfileComponent=m,l.View_ProfileComponent_0=b,l.View_ProfileComponent_Host_0=S;var w=t.ɵccf("app-profile",f.ProfileComponent,S,{},{},[]);l.ProfileComponentNgFactory=w},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(796),r=e(556),a=e(4),s=e(3),d=e(9),c=e(794),p=e(555),f=e(20),v=e(27),h=e(792),g=e(553),m=e(21),y=e(273),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{deauthModalRef:0}),t.ɵqud(402653184,2,{purgeModalRef:0}),t.ɵqud(402653184,3,{deleteModalRef:0}),(n()(),t.ɵeld(4,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(11,0,null,null,1,"app-profile",[],null,null,null,i.View_ProfileComponent_0,i.RenderType_ProfileComponent)),t.ɵdid(12,114688,null,0,r.ProfileComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,null,null,5,"div",[["class","secondary-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(21,0,null,null,1,"app-change-email",[],null,null,null,c.View_ChangeEmailComponent_0,c.RenderType_ChangeEmailComponent)),t.ɵdid(22,49152,null,0,p.ChangeEmailComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService,f.CryptoService,v.MessagingService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(24,0,null,null,5,"div",[["class","secondary-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(31,0,null,null,1,"app-change-password",[],null,null,null,h.View_ChangePasswordComponent_0,h.RenderType_ChangePasswordComponent)),t.ɵdid(32,49152,null,0,g.ChangePasswordComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService,f.CryptoService,v.MessagingService,m.UserService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(34,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(41,0,null,null,20,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,17,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(46,null,["",""])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deauthorizeSessions()&&t);return t},null,null)),(n()(),t.ɵted(50,null,["",""])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.purgeVault()&&t);return t},null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteAccount()&&t);return t},null,null)),(n()(),t.ɵted(58,null,["",""])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deauthorizeSessionsTemplate",2]],null,0,null,b)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["purgeVaultTemplate",2]],null,0,null,S)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["deleteAccountTemplate",2]],null,0,null,w)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,12,0)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"myAccount"))),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"changeEmail"))),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"changeMasterPassword"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"dangerZone"))),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"dangerZoneDesc"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"deauthorizeSessions"))),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"purgeVault"))),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"deleteAccount")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-account",[],null,null,null,R,C)),t.ɵdid(1,49152,null,0,y.AccountComponent,[t.ComponentFactoryResolver],null,null)],null,null)}l.RenderType_AccountComponent=C,l.View_AccountComponent_0=R,l.View_AccountComponent_Host_0=_;var I=t.ɵccf("app-account",y.AccountComponent,_,{},{},[]);l.AccountComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(274),s=e(35),d=e(160),c=t.ɵcrt({encapsulation:2,styles:[],data:{}});function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"billing");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"billingAndLicensing")))})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","premium"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[10,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,9,{links:1}),t.ɵqud(603979776,10,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"premium");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"goPremium")))})}function v(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,57,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,54,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,47,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","options"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"a",[["class","list-group-item"],["routerLink","organizations"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,32).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(32,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(33,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,46).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(46,671744,[[12,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(47,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,11,{links:1}),t.ɵqud(603979776,12,{linksWithHrefs:1}),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,6,"a",[["class","list-group-item"],["routerLink","domain-rules"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,54).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(54,671744,[[14,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(55,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,13,{links:1}),t.ɵqud(603979776,14,{linksWithHrefs:1}),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(67,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"options");n(l,25,0,"active");n(l,32,0,"organizations");n(l,33,0,"active"),n(l,40,0,e.premium),n(l,43,0,!e.premium);n(l,46,0,"two-factor");n(l,47,0,"active");n(l,54,0,"domain-rules");n(l,55,0,"active"),n(l,67,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myAccount"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"options"))),n(l,31,0,t.ɵnov(l,32).target,t.ɵnov(l,32).href),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"organizations"))),n(l,45,0,t.ɵnov(l,46).target,t.ɵnov(l,46).href),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,53,0,t.ɵnov(l,54).target,t.ɵnov(l,54).href),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"domainRules")))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-settings",[],null,null,null,v,c)),t.ɵdid(1,245760,null,0,a.SettingsComponent,[s.TokenService,d.BroadcasterService,t.NgZone],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=c,l.View_SettingsComponent_0=v,l.View_SettingsComponent_Host_0=h;var g=t.ɵccf("app-settings",a.SettingsComponent,h,{},{},[]);l.SettingsComponentNgFactory=g},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]104857600)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2];u.label=1;case 1:return u.trys.push([1,4,,5]),this.formPromise=this.saveCipherAttachment(l[0]),e=this,[4,this.formPromise];case 2:return e.cipherDomain=u.sent(),t=this,[4,this.cipherDomain.decrypt()];case 3:return t.cipher=u.sent(),this.analytics.eventTrack.next({action:"Added Attachment"}),this.toasterService.popAsync("success",null,this.i18nService.t("attachmentSaved")),this.onUploadedAttachment.emit(),[3,5];case 4:return u.sent(),[3,5];case 5:return n.type="",n.type="file",n.value="",[2]}})})},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null!=this.deletePromises[n.id]?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteAttachmentConfirmation"),this.i18nService.t("deleteAttachment"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromises[n.id]=this.deleteCipherAttachment(n.id),[4,this.deletePromises[n.id]];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Deleted Attachment"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedAttachment")),(l=this.cipher.attachments.indexOf(n))>-1&&this.cipher.attachments.splice(l,1),[3,5];case 4:return e.sent(),[3,5];case 5:return this.deletePromises[n.id]=null,this.onDeletedAttachment.emit(),[2]}})})},n.prototype.download=function(n){return t(this,void 0,void 0,function(){var l,e,t,o,i;return u(this,function(u){switch(u.label){case 0:return(l=n).downloading?[2]:this.canAccessAttachments?(l.downloading=!0,[4,fetch(new Request(n.url,{cache:"no-cache"}))]):(this.toasterService.popAsync("error",this.i18nService.t("premiumRequired"),this.i18nService.t("premiumRequiredDesc")),[2]);case 1:if(200!==(e=u.sent()).status)return this.toasterService.popAsync("error",null,this.i18nService.t("errorOccurred")),l.downloading=!1,[2];u.label=2;case 2:return u.trys.push([2,6,,7]),[4,e.arrayBuffer()];case 3:return t=u.sent(),[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 4:return o=u.sent(),[4,this.cryptoService.decryptFromBytes(t,o)];case 5:return i=u.sent(),this.platformUtilsService.saveFile(this.win,i,null,n.fileName),[3,7];case 6:return u.sent(),this.toasterService.popAsync("error",null,this.i18nService.t("errorOccurred")),[3,7];case 7:return l.downloading=!1,[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.saveCipherAttachment=function(n){return this.cipherService.saveAttachmentWithServer(this.cipherDomain,n)},n.prototype.deleteCipherAttachment=function(n){return this.cipherService.deleteAttachmentWithServer(this.cipher.id,n)},n}();l.AttachmentsComponent=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.cipher.login.uris.splice(l,1)}},n.prototype.addField=function(){null==this.cipher.fields&&(this.cipher.fields=[]);var n=new p.FieldView;n.type=this.addFieldType,this.cipher.fields.push(n)},n.prototype.removeField=function(n){var l=this.cipher.fields.indexOf(n);l>-1&&this.cipher.fields.splice(l,1)},n.prototype.cancel=function(){this.onCancelled.emit(this.cipher)},n.prototype.attachments=function(){this.onEditAttachments.emit(this.cipher)},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteItemConfirmation"),this.i18nService.t("deleteItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.deleteCipher(),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Cipher"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedItem")),this.onDeletedCipher.emit(this.cipher),[3,5];case 4:return n.sent(),[3,5];case 5:return[2,!0]}})})},n.prototype.generatePassword=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return null!=this.cipher.login&&null!=this.cipher.login.password&&this.cipher.login.password.length?[4,this.platformUtilsService.showDialog(this.i18nService.t("overwritePasswordConfirmation"),this.i18nService.t("overwritePassword"),this.i18nService.t("yes"),this.i18nService.t("no"))]:[3,2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return this.onGeneratePassword.emit(),[2,!0]}})})},n.prototype.togglePassword=function(){this.analytics.eventTrack.next({action:"Toggled Password on Edit"}),this.showPassword=!this.showPassword,document.getElementById("loginPassword").focus()},n.prototype.toggleCardCode=function(){this.analytics.eventTrack.next({action:"Toggled CardCode on Edit"}),this.showCardCode=!this.showCardCode,document.getElementById("cardCode").focus()},n.prototype.toggleFieldValue=function(n){var l=n;l.showValue=!l.showValue},n.prototype.toggleUriOptions=function(n){var l=n;l.showOptions=(null!=l.showOptions||null==n.match)&&!l.showOptions},n.prototype.loginUriMatchChanged=function(n){var l=n;l.showOptions=null==l.showOptions||l.showOptions},n.prototype.checkPassword=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return null!=this.checkPasswordPromise?[2]:null==this.cipher.login||null==this.cipher.login.password||""===this.cipher.login.password?[2]:(this.analytics.eventTrack.next({action:"Check Password"}),this.checkPasswordPromise=this.auditService.passwordLeaked(this.cipher.login.password),[4,this.checkPasswordPromise]);case 1:return n=l.sent(),this.checkPasswordPromise=null,n>0?this.toasterService.popAsync("warning",null,this.i18nService.t("passwordExposed",n.toString())):this.toasterService.popAsync("success",null,this.i18nService.t("passwordSafe")),[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.encryptCipher=function(){return this.cipherService.encrypt(this.cipher)},n.prototype.saveCipher=function(n){return this.cipherService.saveWithServer(n)},n.prototype.deleteCipher=function(){return this.cipherService.deleteWithServer(this.cipher.id)},n}();l.AddEditComponent=m},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.folders=[]}}();l.UpdateKeyRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(l){var e=n.call(this,l)||this;return e.id=l.id,e}return u(l,n),l}(e(278).FolderRequest);l.FolderWithIdRequest=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0),n(l,6,0,0===l.context.ngIf.length)},null)}function x(n){return t.ɵvid(0,[t.ɵpid(0,p.SearchCiphersPipe,[f.PlatformUtilsService]),t.ɵpid(0,v.I18nPipe,[h.I18nService]),(n()(),t.ɵand(16777216,null,null,2,null,M)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),e.ciphers,e.searchText)))},null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-ciphers",[],null,null,null,x,b)),t.ɵdid(1,49152,null,0,g.CiphersComponent,[m.CipherService,y.Angulartics2,C.ToasterService,h.I18nService,f.PlatformUtilsService],null,null)],null,null)}l.RenderType_CiphersComponent=b,l.View_CiphersComponent_0=x,l.View_CiphersComponent_Host_0=D;var U=t.ɵccf("app-vault-ciphers",g.CiphersComponent,D,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked"},[]);l.CiphersComponentNgFactory=U},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.u2f.init({appId:l[0].appId,challenge:l[0].challenge,keys:[{version:l[0].version,keyHandle:l[0].keyHandle}]}),[3,7]):[3,7];case 2:return this.platformUtilsService.getDevice()===o.DeviceType.SafariExtension?[3,7]:(setTimeout(function(){s.init({iframe:void 0,host:n.Host,sig_request:n.Signature,submit_callback:function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null==(l=n.querySelector('input[name="sig_response"]'))?[3,2]:(this.token=l.value,[4,this.submit()]);case 1:e.sent(),e.label=2;case 2:return[2]}})})}})},0),[3,7]);case 3:return this.twoFactorEmail=n.Email,this.authService.twoFactorProviders.size>1?[4,this.sendEmail(!1)]:[3,5];case 4:r.sent(),r.label=5;case 5:case 6:return[3,7];case 7:return[2]}})})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:if(null==this.token||""===this.token)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("verificationCodeRequired")),[2];if(this.selectedProviderType===i.TwoFactorProviderType.U2f){if(null==this.u2f)return[2];this.u2f.stop()}else this.selectedProviderType!==i.TwoFactorProviderType.Email&&this.selectedProviderType!==i.TwoFactorProviderType.Authenticator||(this.token=this.token.replace(" ","").trim());l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.authService.logInTwoFactor(this.selectedProviderType,this.token,this.remember),[4,this.formPromise];case 2:return l.sent(),null!=this.onSuccessfulLogin&&this.onSuccessfulLogin(),this.analytics.eventTrack.next({action:"Logged In From Two-step"}),null!=this.onSuccessfulLoginNavigate?this.onSuccessfulLoginNavigate():this.router.navigate([this.successRoute]),[3,4];case 3:if(n=l.sent(),this.selectedProviderType!==i.TwoFactorProviderType.U2f||null==this.u2f)throw n;return this.u2f.start(),[3,4];case 4:return[2]}})})},n.prototype.sendEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:if(this.selectedProviderType!==i.TwoFactorProviderType.Email)return[2];if(null!=this.emailPromise)return[2];e.label=1;case 1:return e.trys.push([1,3,,4]),l=new r.TwoFactorEmailRequest(this.authService.email,this.authService.masterPasswordHash),this.emailPromise=this.apiService.postTwoFactorEmail(l),[4,this.emailPromise];case 2:return e.sent(),n&&this.toasterService.popAsync("success",null,this.i18nService.t("verificationCodeEmailSent",this.twoFactorEmail)),[3,4];case 3:return e.sent(),[3,4];case 4:return this.emailPromise=null,[2]}})})},n.prototype.cleanupU2f=function(){null!=this.u2f&&(this.u2f.stop(),this.u2f.cleanup())},n}();l.TwoFactorComponent=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=function(){function n(n){this.componentFactoryResolver=n,this.onClose=new t.EventEmitter,this.onClosed=new t.EventEmitter,this.onShow=new t.EventEmitter,this.onShown=new t.EventEmitter,this.parentContainer=null,this.fade=!0}return n.prototype.ngOnDestroy=function(){document.body.classList.remove("modal-open"),document.body.removeChild(document.querySelector(".modal-backdrop"))},n.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.onShow.emit(),this.parentContainer=l,this.fade=e,document.body.classList.add("modal-open");var u=document.createElement("div");u.className="modal-backdrop"+(this.fade?" fade":""),document.body.appendChild(u);var o=this.componentFactoryResolver.resolveComponentFactory(n),i=this.container.createComponent(o);document.querySelector(".modal-dialog").addEventListener("click",function(n){n.stopPropagation()});for(var r=0,a=Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss="modal"]'));r0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),e[0]),e},n}();l.ValidationService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(17);var t=function(){function n(n,l){this.el=n,this.validationService=l}return n.prototype.ngOnChanges=function(n){var l=this;null!=this.appApiAction&&null!=this.appApiAction.then&&(this.el.nativeElement.loading=!0,this.appApiAction.then(function(n){l.el.nativeElement.loading=!1},function(n){l.el.nativeElement.loading=!1,l.validationService.showError(n)}))},n}();l.ApiActionDirective=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CryptoService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UserService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.CipherService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.MessagingService=t},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.success=!1,this.ciphers=[],this.folders=[],this.folderRelationships=[],this.collections=[],this.collectionRelationships=[]}}();l.ImportResult=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(539),u=e(157),o=e(177),i=e(216),r=e(49),a=e(179),s=e(128),d=e(156),c=e(91),p=e(53),f=e(219),v=e(101),h=function(){function n(){this.organization=!1,this.newLineRegex=/(?:\r\n|\r|\n)/,this.passwordFieldNames=["password","pass word","passphrase","pass phrase","pass","code","code word","codeword","secret","secret word","personpwd","key","keyword","key word","keyphrase","key phrase","form_pw","wppassword","pin","pwd","pw","pword","passwd","p","serial","serial#","license key","reg #","passwort"],this.usernameFieldNames=["user","name","user name","username","login name","email","e-mail","id","userid","user id","login","form_loginname","wpname","mail","loginid","login id","log","personlogin","first name","last name","card#","account #","member","member #","nom","benutzername"],this.notesFieldNames=["note","notes","comment","comments","memo","description","free form","freeform","free text","freetext","free","kommentar"],this.uriFieldNames=["url","hyper link","hyperlink","link","host","hostname","host name","server","address","hyper ref","href","web","website","web site","site","web-site","uri","ort","adresse"]}return n.prototype.parseXml=function(n){var l=(new DOMParser).parseFromString(n,"application/xml");return null!=l&&null==l.querySelector("parsererror")?l:null},n.prototype.parseCsv=function(n,l){n=this.splitNewLine(n).join("\n").trim();var e=t.parse(n,{header:l,encoding:"UTF-8",skipEmptyLines:!1});return null!=e.errors&&e.errors.length>0&&e.errors.forEach(function(n){console.warn("Error parsing row "+n.row+": "+n.message)}),e.data&&e.data.length>0?e.data:null},n.prototype.parseSingleRowCsv=function(n){if(this.isNullOrWhitespace(n))return null;var l=this.parseCsv(n,!1);return null!=l&&l.length>0&&l[0].length>0?l[0]:null},n.prototype.makeUriArray=function(n){var l=this;if(null==n)return null;if("string"==typeof n){var e=new i.LoginUriView;return e.uri=this.fixUri(n),this.isNullOrWhitespace(e.uri)?null:(e.match=null,[e])}if(n.length>0){var t=[];return n.forEach(function(n){var e=new i.LoginUriView;e.uri=l.fixUri(n),l.isNullOrWhitespace(e.uri)||(e.match=null,t.push(e))}),0===t.length?null:t}return null},n.prototype.fixUri=function(n){return null==n?null:(-1===(n=n.toLowerCase().trim()).indexOf("://")&&n.indexOf(".")>=0&&(n="http://"+n),n.length>1e3?n.substring(0,1e3):n)},n.prototype.nameFromUrl=function(n){var l=r.Utils.getHostname(n);return this.isNullOrWhitespace(l)?null:l.startsWith("www.")?l.replace("www.",""):l},n.prototype.isNullOrWhitespace=function(n){return null==n||""===n.trim()},n.prototype.getValueOrDefault=function(n,l){return void 0===l&&(l=null),this.isNullOrWhitespace(n)?l:n},n.prototype.splitNewLine=function(n){return n.split(this.newLineRegex)},n.prototype.getCardBrand=function(n){if(this.isNullOrWhitespace(n))return null;var l=new RegExp("^4");return null!=n.match(l)?"Visa":/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/.test(n)?"Mastercard":(l=new RegExp("^3[47]"),null!=n.match(l)?"Amex":(l=new RegExp("^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)"),null!=n.match(l)?"Discover":(l=new RegExp("^36"),null!=n.match(l)?"Diners Club":(l=new RegExp("^30[0-5]"),null!=n.match(l)?"Diners Club":(l=new RegExp("^35(2[89]|[3-8][0-9])"),null!=n.match(l)?"JCB":(l=new RegExp("^(4026|417500|4508|4844|491(3|7))"),null!=n.match(l)?"Visa":null))))))},n.prototype.moveFoldersToCollections=function(n){n.folderRelationships.forEach(function(l){return n.collectionRelationships.push(l)}),n.collections=n.folders.map(function(n){var l=new o.CollectionView;return l.name=n.name,l}),n.folderRelationships=[],n.folders=[]},n.prototype.querySelectorDirectChild=function(n,l){var e=this.querySelectorAllDirectChild(n,l);return 0===e.length?null:e[0]},n.prototype.querySelectorAllDirectChild=function(n,l){return Array.from(n.querySelectorAll(l)).filter(function(l){return l.parentNode===n})},n.prototype.initLoginCipher=function(){var n=new u.CipherView;return n.favorite=!1,n.notes="",n.fields=[],n.login=new d.LoginView,n.type=p.CipherType.Login,n},n.prototype.cleanupCipher=function(n){null!=n&&(n.type!==p.CipherType.Login&&(n.login=null),this.isNullOrWhitespace(n.name)&&(n.name="--"),this.isNullOrWhitespace(n.notes)?n.notes=null:n.notes=n.notes.trim(),null!=n.fields&&0===n.fields.length&&(n.fields=null))},n.prototype.processKvp=function(n,l,e){if(!this.isNullOrWhitespace(e))if(this.isNullOrWhitespace(l)&&(l=""),e.length>200||e.trim().search(this.newLineRegex)>-1)null==n.notes&&(n.notes=""),n.notes+=l+": "+this.splitNewLine(e).join("\n")+"\n";else{null==n.fields&&(n.fields=[]);var t=new a.FieldView;t.type=f.FieldType.Text,t.name=l,t.value=e,n.fields.push(t)}},n.prototype.processFolder=function(n,l){var e=n.folders.length,t=!this.isNullOrWhitespace(l),u=t;if(t)for(var o=0;o-1&&(n="http://"+n),n.startsWith("http://")||n.startsWith("https://"))try{if(null!=o)return new o(n);if("function"==typeof URL)return new URL(n);if(null!=window){var l=window.document.createElement("a");return l.href=n,l}}catch(n){}return null},l.inited=!1,l.isNode=!1,l.isBrowser=!0,l.global=null,l}();l.Utils=i,i.init()}).call(this,e(223),e(103),e(295).Buffer)},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.FolderService=t},,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Login=1]="Login",n[n.SecureNote=2]="SecureNote",n[n.Card=3]="Card",n[n.Identity=4]="Identity"}(l.CipherType||(l.CipherType={}))},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.preventDefault()},n}();l.StopClickDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StateService=t},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SyncService=t},,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordVerificationRequest=t},,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Authenticator=0]="Authenticator",n[n.Email=1]="Email",n[n.Duo=2]="Duo",n[n.Yubikey=3]="Yubikey",n[n.U2f=4]="U2f",n[n.Remember=5]="Remember",n[n.OrganizationDuo=6]="OrganizationDuo"}(l.TwoFactorProviderType||(l.TwoFactorProviderType={}))},,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n){this.el=n}return Object.defineProperty(n.prototype,"appAutofocus",{set:function(n){this.autofocus=""===n||!0===n},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){this.autofocus&&this.el.nativeElement.focus()},n}();l.AutofocusDirective=t},,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){n&&(this.type=n.type)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){return null},enumerable:!0,configurable:!0}),n}();l.SecureNoteView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){}return n.prototype.onClick=function(n){n.stopPropagation()},n}();l.StopPropDirective=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(225),i=(e(0),function(n){function l(l){var e=n.call(this,l)||this;return e.el=null,e}return u(l,n),l.prototype.ngOnDestroy=function(){},l.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.parentContainer=l,this.fade=e;var u=this.componentFactoryResolver.resolveComponentFactory(n),i=this.container.createComponent(u),r=Array.from(document.querySelectorAll(".modal"));return r.length>0&&(this.el=o(r[0]),this.el.modal("show"),this.el.on("show.bs.modal",function(){t.onShow.emit()}),this.el.on("shown.bs.modal",function(){t.onShown.emit(),t.el.find("*[appAutoFocus]").focus()}),this.el.on("hide.bs.modal",function(){t.onClose.emit()}),this.el.on("hidden.bs.modal",function(){t.onClosed.emit(),null!=t.parentContainer&&t.parentContainer.clear()})),i.instance},l.prototype.close=function(){null!=this.el&&this.el.modal("hide")},l}(e(837).ModalComponent));l.ModalComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PasswordGenerationService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuthService=t},,,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?n[i]=r||null:n[i]=r?new o.CipherString(r):null}},n.prototype.buildDataModel=function(n,l,e,t){for(var u in void 0===t&&(t=[]),e)if(e.hasOwnProperty(u)){var o=n[e[u]||u];t.indexOf(u)>-1?l[u]=null!=o?o:null:l[u]=null!=o?o.encryptedString:null}},n.prototype.decryptObj=function(n,l,e){return t(this,void 0,void 0,function(){var t,o,i;return u(this,function(u){switch(u.label){case 0:for(i in t=[],o=this,l)l.hasOwnProperty(i)&&function(u){var i=Promise.resolve().then(function(){var n=l[u]||u;return o[n]?o[n].decrypt(e):null}).then(function(l){n[u]=l});t.push(i)}(i);return[4,Promise.all(t)];case 1:return u.sent(),[2,n]}})})},n}();l.default=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Generic=0]="Generic"}(l.SecureNoteType||(l.SecureNoteType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.environmentUrlsKey=n.environmentUrlsKey,this.disableGaKey=n.disableGaKey,this.disableAddLoginNotificationKey=n.disableAddLoginNotificationKey,this.disableContextMenuItemKey=n.disableContextMenuItemKey,this.disableFaviconKey=n.disableFaviconKey,this.disableAutoTotpCopyKey=n.disableAutoTotpCopyKey,this.enableAutoFillOnPageLoadKey=n.enableAutoFillOnPageLoadKey,this.lockOptionKey=n.lockOptionKey,this.lastActiveKey=n.lastActiveKey,this.neverDomainsKey=n.neverDomainsKey,this.installedVersionKey=n.installedVersionKey,this.localeKey=n.localeKey,this.themeKey=n.themeKey}return n.environmentUrlsKey="environmentUrls",n.disableGaKey="disableGa",n.disableAddLoginNotificationKey="disableAddLoginNotification",n.disableContextMenuItemKey="disableContextMenuItem",n.disableFaviconKey="disableFavicon",n.disableAutoTotpCopyKey="disableAutoTotpCopy",n.enableAutoFillOnPageLoadKey="enableAutoFillOnPageLoad",n.lockOptionKey="lockOption",n.lastActiveKey="lastActive",n.neverDomainsKey="neverDomains",n.installedVersionKey="installedVersion",n.localeKey="locale",n.themeKey="theme",n}();l.ConstantsService=t},,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(53),u=e(536),o=e(535),i=e(534),r=e(533),a=e(532),s=e(530),d=function(){return function(n,l,e){var d=this;if(null!=n){switch(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.userId=l,this.edit=n.edit,this.organizationUseTotp=n.organizationUseTotp,this.favorite=n.favorite,this.revisionDate=n.revisionDate,this.type=n.type,this.name=n.name,this.notes=n.notes,this.collectionIds=null!=e?e:n.collectionIds,this.type){case t.CipherType.Login:this.login=new a.LoginData(n.login);break;case t.CipherType.SecureNote:this.secureNote=new s.SecureNoteData(n.secureNote);break;case t.CipherType.Card:this.card=new o.CardData(n.card);break;case t.CipherType.Identity:this.identity=new r.IdentityData(n.identity)}null!=n.fields&&(this.fields=[],n.fields.forEach(function(n){d.fields.push(new i.FieldData(n))})),null!=n.attachments&&(this.attachments=[],n.attachments.forEach(function(n){d.attachments.push(new u.AttachmentData(n))}))}}}();l.CipherData=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.expMonth=null,this._brand=null}return Object.defineProperty(n.prototype,"maskedCode",{get:function(){return null!=this.code?"•".repeat(this.code.length):null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"brand",{get:function(){return this._brand},set:function(n){this._brand=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"number",{get:function(){return this._number},set:function(n){this._number=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null==this._subTitle&&(this._subTitle=this.brand,null!=this.number&&this.number.length>=4&&(null!=this._subTitle&&""!==this._subTitle?this._subTitle+=", ":this._subTitle="",this._subTitle+="*"+this.number.substr(this.number.length-4))),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"expiration",{get:function(){if(!this.expMonth&&!this.expYear)return null;var n=null!=this.expMonth?("0"+this.expMonth).slice(-2):"__";return n+=" / "+(null!=this.expYear?this.formatYear(this.expYear):"____")},enumerable:!0,configurable:!0}),n.prototype.formatYear=function(n){return 2===n.length?"20"+n:n},n}();l.CardView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(42);var t=function(){function n(n){this.sanitizer=n,this.width=45,this.height=45,this.charCount=2,this.textColor="#ffffff",this.fontSize=20,this.fontWeight=300,this.dynamic=!1,this.circle=!1}return n.prototype.ngOnInit=function(){this.dynamic||this.generate()},n.prototype.ngOnChanges=function(){this.dynamic&&this.generate()},n.prototype.generate=function(){var n=null,l=this.data.toUpperCase();this.charCount>1&&(n=this.getFirstLetters(l,this.charCount)),null==n&&(n=l.substr(0,this.charCount));var e=this.getCharText(n),t=this.stringToColor(l),u=this.getSvg(this.width,this.height,t);u.appendChild(e);var o=window.document.createElement("div").appendChild(u).outerHTML,i=window.btoa(unescape(encodeURIComponent(o)));this.src="data:image/svg+xml;base64,"+i},n.prototype.stringToColor=function(n){for(var l=0,e=0;e>8*e&255).toString(16)).substr(-2)}return t},n.prototype.getFirstLetters=function(n,l){var e=n.split(" ");if(e.length>1){for(var t="",u=0;u0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&window.document.body.removeChild(n)}),!this.hidePaypal){window.document.head.removeChild(this.btScript);var n=window.document.head.querySelector("#braintree-dropin-stylesheet");null!=n&&window.document.head.removeChild(n)}},n.prototype.changeMethod=function(){var n=this;"paypal"===this.method?window.setTimeout(function(){window.braintree.dropin.create({authorization:n.platformUtilsService.isDev()?t.btSandbox:t.btProduction,container:"#bt-dropin-container",paymentOptionPriority:["paypal"],paypal:{flow:"vault",buttonStyle:{label:"pay",size:"medium",shape:"pill",color:"blue"}}},function(l,e){null==l?n.btInstance=e:console.error(l)})},250):this.btInstance=null},n.prototype.createPaymentToken=function(){var n=this;return new Promise(function(l,e){if("paypal"===n.method)n.btInstance.requestPaymentMethod().then(function(n){l(n.nonce)}).catch(function(n){e(n.message)});else if("card"===n.method||"bank"===n.method){var t="card"===n.method?window.Stripe.card:window.Stripe.bankAccount,u="card"===n.method?n.card:n.bank;t.createToken(u,function(n,t){200===n&&null!=t.id?l(t.id):null!=t.error?e(t.error.message):e()})}})},n.prototype.getCountry=function(){return this.card.address_country},n}();l.PaymentComponent=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=null,n&&(this.id=n.id)}}();l.FolderView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.AuditService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(116),i=e(42),r=t.ɵcrt({encapsulation:2,styles:[],data:{}});function a(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"img",[],[[8,"src",4],[8,"title",0]],null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{"rounded-circle":0})],function(n,l){n(l,1,0,n(l,2,0,l.component.circle))},function(n,l){var e=l.component;n(l,0,0,e.sanitizer.bypassSecurityTrustResourceUrl(e.src),t.ɵinlineInterpolate(1,"",e.data,""))})}function s(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-avatar",[],null,null,null,a,r)),t.ɵdid(1,638976,null,0,o.AvatarComponent,[i.DomSanitizer],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AvatarComponent=r,l.View_AvatarComponent_0=a,l.View_AvatarComponent_Host_0=s;var d=t.ɵccf("app-avatar",o.AvatarComponent,s,{data:"data",width:"width",height:"height",charCount:"charCount",textColor:"textColor",fontSize:"fontSize",fontWeight:"fontWeight",dynamic:"dynamic",circle:"circle"},{},[]);l.AvatarComponentNgFactory=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.EnvironmentService=t},,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(17),s=e(46),d=e(125),c=e(4),p=e(9),f=e(20),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,43,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,19,"div",[["class","modal-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appAutoFocus",""],["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,i.NgModel,[[2,i.ControlContainer],[2,i.NG_VALIDATORS],[8,null],[2,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(24,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),t.ɵdid(25,81920,null,0,s.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","modal-footer"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["data-dismiss","modal"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"");n(l,22,0,"MasterPasswordHash",e.masterPassword);n(l,25,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLoginAuthDesc"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"masterPass"))),n(l,17,0,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,30,0,t.ɵnov(l,1).loading),n(l,32,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l,0),"loading")),"")),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"continue"))),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l,0),"close")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-verify",[],null,null,null,h,v)),t.ɵdid(1,49152,null,0,d.TwoFactorVerifyComponent,[c.ApiService,o.I18nService,p.ToasterService,f.CryptoService],null,null)],null,null)}l.RenderType_TwoFactorVerifyComponent=v,l.View_TwoFactorVerifyComponent_0=h,l.View_TwoFactorVerifyComponent_Host_0=g;var m=t.ɵccf("app-two-factor-verify",d.TwoFactorVerifyComponent,g,{type:"type",organizationId:"organizationId"},{onAuthed:"onAuthed"},[]);l.TwoFactorVerifyComponentNgFactory=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?(a=[],[4,this.attachments.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){a.push(n)})},Promise.resolve())]):[3,13];case 12:i.sent(),n.attachments=a,i.label=13;case 13:return null!=this.fields&&this.fields.length>0?(d=[],[4,this.fields.reduce(function(n,l){return n.then(function(){return l.decrypt(o)}).then(function(n){d.push(n)})},Promise.resolve())]):[3,15];case 14:i.sent(),n.fields=d,i.label=15;case 15:return[2,n]}})})},l.prototype.toCipherData=function(n){var l=new a.CipherData;switch(l.id=this.id,l.organizationId=this.organizationId,l.folderId=this.folderId,l.userId=null!=this.organizationId?n:null,l.edit=this.edit,l.organizationUseTotp=this.organizationUseTotp,l.favorite=this.favorite,l.revisionDate=this.revisionDate,l.type=this.type,l.collectionIds=this.collectionIds,this.buildDataModel(this,l,{name:null,notes:null}),l.type){case r.CipherType.Login:l.login=this.login.toLoginData();break;case r.CipherType.SecureNote:l.secureNote=this.secureNote.toSecureNoteData();break;case r.CipherType.Card:l.card=this.card.toCardData();break;case r.CipherType.Identity:l.identity=this.identity.toIdentityData()}return null!=this.fields&&(l.fields=[],this.fields.forEach(function(n){l.fields.push(n.toFieldData())})),null!=this.attachments&&(l.attachments=[],this.attachments.forEach(function(n){l.attachments.push(n.toAttachmentData())})),l},l}(p.default);l.Cipher=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(177),i=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{id:null,organizationId:null,name:null,readOnly:null},e,["id","organizationId","readOnly"]),t)}return u(l,n),l.prototype.decrypt=function(){return this.decryptObj(new o.CollectionView(this),{name:null},this.organizationId)},l}(e(100).default);l.Collection=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){}return Object.defineProperty(n.prototype,"uri",{get:function(){return this.hasUris?this.uris[0].uri:null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"maskedPassword",{get:function(){return null!=this.password?"••••••••":null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return this.username},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"canLaunch",{get:function(){return this.hasUris&&this.uris[0].canLaunch},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasUris",{get:function(){return null!=this.uris&&this.uris.length>0},enumerable:!0,configurable:!0}),n}();l.LoginView=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(53),u=function(){function n(n){this.favorite=!1,this.organizationUseTotp=!1,this.edit=!1,n&&(this.id=n.id,this.organizationId=n.organizationId,this.folderId=n.folderId,this.favorite=n.favorite,this.organizationUseTotp=n.organizationUseTotp,this.edit=n.edit,this.type=n.type,this.localData=n.localData,this.collectionIds=n.collectionIds)}return Object.defineProperty(n.prototype,"subTitle",{get:function(){switch(this.type){case t.CipherType.Login:return this.login.subTitle;case t.CipherType.SecureNote:return this.secureNote.subTitle;case t.CipherType.Card:return this.card.subTitle;case t.CipherType.Identity:return this.identity.subTitle}return null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasAttachments",{get:function(){return this.attachments&&this.attachments.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"hasFields",{get:function(){return this.fields&&this.fields.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"login_username",{get:function(){return null!=this.login?this.login.username:null},enumerable:!0,configurable:!0}),n}();l.CipherView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(53),u=function(){return function(n){var l=this;switch(this.type=n.type,this.folderId=n.folderId,this.organizationId=n.organizationId,this.name=n.name?n.name.encryptedString:null,this.notes=n.notes?n.notes.encryptedString:null,this.favorite=n.favorite,this.type){case t.CipherType.Login:this.login={uris:null,username:n.login.username?n.login.username.encryptedString:null,password:n.login.password?n.login.password.encryptedString:null,totp:n.login.totp?n.login.totp.encryptedString:null},n.login.uris&&(this.login.uris=[],n.login.uris.forEach(function(n){l.login.uris.push({uri:n.uri?n.uri.encryptedString:null,match:null!=n.match?n.match:null})}));break;case t.CipherType.SecureNote:this.secureNote={type:n.secureNote.type};break;case t.CipherType.Card:this.card={cardholderName:n.card.cardholderName?n.card.cardholderName.encryptedString:null,brand:n.card.brand?n.card.brand.encryptedString:null,number:n.card.number?n.card.number.encryptedString:null,expMonth:n.card.expMonth?n.card.expMonth.encryptedString:null,expYear:n.card.expYear?n.card.expYear.encryptedString:null,code:n.card.code?n.card.code.encryptedString:null};break;case t.CipherType.Identity:this.identity={title:n.identity.title?n.identity.title.encryptedString:null,firstName:n.identity.firstName?n.identity.firstName.encryptedString:null,middleName:n.identity.middleName?n.identity.middleName.encryptedString:null,lastName:n.identity.lastName?n.identity.lastName.encryptedString:null,address1:n.identity.address1?n.identity.address1.encryptedString:null,address2:n.identity.address2?n.identity.address2.encryptedString:null,address3:n.identity.address3?n.identity.address3.encryptedString:null,city:n.identity.city?n.identity.city.encryptedString:null,state:n.identity.state?n.identity.state.encryptedString:null,postalCode:n.identity.postalCode?n.identity.postalCode.encryptedString:null,country:n.identity.country?n.identity.country.encryptedString:null,company:n.identity.company?n.identity.company.encryptedString:null,email:n.identity.email?n.identity.email.encryptedString:null,phone:n.identity.phone?n.identity.phone.encryptedString:null,ssn:n.identity.ssn?n.identity.ssn.encryptedString:null,username:n.identity.username?n.identity.username.encryptedString:null,passportNumber:n.identity.passportNumber?n.identity.passportNumber.encryptedString:null,licenseNumber:n.identity.licenseNumber?n.identity.licenseNumber.encryptedString:null}}n.fields&&(this.fields=[],n.fields.forEach(function(n){l.fields.push({type:n.type,name:n.name?n.name.encryptedString:null,value:n.value?n.value.encryptedString:null})})),n.attachments&&(this.attachments={},n.attachments.forEach(function(n){l.attachments[n.id]=n.fileName?n.fileName.encryptedString:null}))}}();l.CipherRequest=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Android=0]="Android",n[n.iOS=1]="iOS",n[n.ChromeExtension=2]="ChromeExtension",n[n.FirefoxExtension=3]="FirefoxExtension",n[n.OperaExtension=4]="OperaExtension",n[n.EdgeExtension=5]="EdgeExtension",n[n.WindowsDesktop=6]="WindowsDesktop",n[n.MacOsDesktop=7]="MacOsDesktop",n[n.LinuxDesktop=8]="LinuxDesktop",n[n.ChromeBrowser=9]="ChromeBrowser",n[n.FirefoxBrowser=10]="FirefoxBrowser",n[n.OperaBrowser=11]="OperaBrowser",n[n.EdgeBrowser=12]="EdgeBrowser",n[n.IEBrowser=13]="IEBrowser",n[n.UnknownBrowser=14]="UnknownBrowser",n[n.AndroidAmazon=15]="AndroidAmazon",n[n.UWP=16]="UWP",n[n.SafariBrowser=17]="SafariBrowser",n[n.VivaldiBrowser=18]="VivaldiBrowser",n[n.VivaldiExtension=19]="VivaldiExtension",n[n.SafariExtension=20]="SafariExtension"}(l.DeviceType||(l.DeviceType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.subscribers=new Map}return n.prototype.send=function(n,l){null==l?this.subscribers.forEach(function(l){l(n)}):this.subscribers.has(l)&&this.subscribers.get(l)(n)},n.prototype.subscribe=function(n,l){this.subscribers.has(n)||this.subscribers.set(n,l)},n.prototype.unsubscribe=function(n){this.subscribers.has(n)&&this.subscribers.delete(n)},n}();l.BroadcasterService=t},,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Owner=0]="Owner",n[n.Admin=1]="Admin",n[n.User=2]="User"}(l.OrganizationUserType||(l.OrganizationUserType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(2);var t=e(159),u=e(727),o=function(){function n(n){this.i18nService=n}return n.prototype.getDefaultDateFilters=function(){var n=new Date,l=new Date(n.getFullYear(),n.getMonth(),n.getDate(),23,59);n.setDate(n.getDate()-30);var e=new Date(n.getFullYear(),n.getMonth(),n.getDate(),0,0);return[this.toDateTimeLocalString(e),this.toDateTimeLocalString(l)]},n.prototype.formatDateFilters=function(n,l){var e=new Date(n),t=new Date(l+":59.999");if(isNaN(e.getTime())||isNaN(t.getTime())||t"+e+"";var t=this.makeAnchor(e);return t.setAttribute("href","#/organizations/"+n.organizationId+"/vault?search="+e+"&viewEvents="+n.cipherId),t.outerHTML},n.prototype.formatGroupId=function(n){var l=this.getShortId(n.groupId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/groups?search="+l),e.outerHTML},n.prototype.formatCollectionId=function(n){var l=this.getShortId(n.collectionId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/collections?search="+l),e.outerHTML},n.prototype.formatOrgUserId=function(n){var l=this.getShortId(n.organizationUserId),e=this.makeAnchor(l);return e.setAttribute("href","#/organizations/"+n.organizationId+"/manage/people?search="+l+"&viewEvents="+n.organizationUserId),e.outerHTML},n.prototype.makeAnchor=function(n){var l=document.createElement("a");return l.title=this.i18nService.t("view"),l.innerHTML=""+n+"",l},n.prototype.getShortId=function(n){return n.substring(0,8)},n.prototype.toDateTimeLocalString=function(n){return n.getFullYear()+"-"+this.pad(n.getMonth()+1)+"-"+this.pad(n.getDate())+"T"+this.pad(n.getHours())+":"+this.pad(n.getMinutes())},n.prototype.pad=function(n){var l=Math.floor(Math.abs(n));return(l<10?"0":"")+l},n}();l.EventService=o;var i=function(){return function(){}}();l.EventInfo=i;var r=function(){return function(){this.cipherInfo=!0}}();l.EventOptions=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.ExportService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){n&&(this.id=n.id,this.organizationId=n.organizationId,this.readOnly=n.readOnly)}}();l.CollectionView=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0))return[3,4];u.label=1;case 1:return u.trys.push([1,3,,4]),[4,this.getFileContents(e[0])];case 2:return null!=(o=u.sent())&&(t=o),[3,4];case 3:return u.sent(),[3,4];case 4:return null==t||""===t?(this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),[2]):[4,n.parse(t)];case 5:if(!(i=u.sent()).success)return[3,10];if(0===i.folders.length&&0===i.ciphers.length)return this.error(this.i18nService.t("importNothingError")),[2];if(i.ciphers.length>0&&(r=Math.floor(i.ciphers.length/2),a=i.ciphers.length-1,this.badData(i.ciphers[0])&&this.badData(i.ciphers[r])&&this.badData(i.ciphers[a])))return this.error(this.i18nService.t("importFormatError")),[2];u.label=6;case 6:return u.trys.push([6,8,,9]),this.formPromise=this.postImport(i),[4,this.formPromise];case 7:return u.sent(),this.analytics.eventTrack.next({action:"Imported Data",properties:{label:this.format}}),this.toasterService.popAsync("success",null,this.i18nService.t("importSuccess")),this.router.navigate(this.successNavigate),[3,9];case 8:return u.sent(),[3,9];case 9:return[3,11];case 10:this.error(this.i18nService.t("importFormatError")),u.label=11;case 11:return[2]}})})},n.prototype.getFormatInstructionTitle=function(){var n=this;if(null==this.format)return null;var l=this.featuredImportOptions.concat(this.importOptions).filter(function(l){return l.id===n.format});return l.length>0?this.i18nService.t("instructionsFor",l[0].name):null},n.prototype.postImport=function(n){return t(this,void 0,void 0,function(){var l,e,t,s;return u(this,function(u){switch(u.label){case 0:l=new r.ImportCiphersRequest,t=0,u.label=1;case 1:return t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1},enumerable:!0,configurable:!0}),n}();l.LoginUriView=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(n){this.title=null}return Object.defineProperty(n.prototype,"firstName",{get:function(){return this._firstName},set:function(n){this._firstName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"lastName",{get:function(){return this._lastName},set:function(n){this._lastName=n,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"subTitle",{get:function(){return null!=this._subTitle||null==this.firstName&&null==this.lastName||(this._subTitle="",null!=this.firstName&&(this._subTitle=this.firstName),null!=this.lastName&&(""!==this._subTitle&&(this._subTitle+=" "),this._subTitle+=this.lastName)),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"fullName",{get:function(){if(null!=this.title||null!=this.firstName||null!=this.middleName||null!=this.lastName){var n="";return null!=this.title&&(n+=this.title+" "),null!=this.firstName&&(n+=this.firstName+" "),null!=this.middleName&&(n+=this.middleName+" "),null!=this.lastName&&(n+=this.lastName),n.trim()}return null},enumerable:!0,configurable:!0}),n}();l.IdentityView=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]500?500:this.ciphers.length,e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]t){if(o===i.TwoFactorProviderType.U2f&&!n)return;e=o,t=r.priority}}),e},n.prototype.logInHelper=function(n,l,e,t,c,p){return u(this,void 0,void 0,function(){var u,f,v,h,g,m,y,C,b,S;return o(this,function(o){switch(o.label){case 0:return[4,this.tokenService.getTwoFactorToken(n)];case 1:return u=o.sent(),[4,this.appIdService.getAppId()];case 2:return f=o.sent(),v=new a.DeviceRequest(f,this.platformUtilsService),h=null!=c&&null!=t?new d.TokenRequest(n,l,t,c,p,v):null!=u?new d.TokenRequest(n,l,i.TwoFactorProviderType.Remember,u,!1,v):new d.TokenRequest(n,l,null,null,!1,v),[4,this.apiService.postIdentityToken(h)];case 3:return g=o.sent(),this.clearState(),(m=new r.AuthResult).twoFactor=!g.accessToken,m.twoFactor?(y=g,this.email=n,this.masterPasswordHash=l,this.key=this.setCryptoKeys?e:null,this.twoFactorProviders=y.twoFactorProviders2,m.twoFactorProviders=y.twoFactorProviders2,[2,m]):(null!=(C=g).twoFactorToken&&this.tokenService.setTwoFactorToken(C.twoFactorToken,n),[4,this.tokenService.setTokens(C.accessToken,C.refreshToken)]);case 4:return o.sent(),[4,this.userService.setUserIdAndEmail(this.tokenService.getUserId(),this.tokenService.getEmail())];case 5:return o.sent(),this.setCryptoKeys?[4,this.cryptoService.setKey(e)]:[3,15];case 6:return o.sent(),[4,this.cryptoService.setKeyHash(l)];case 7:return o.sent(),[4,this.cryptoService.setEncKey(C.key)];case 8:if(o.sent(),null!=C.privateKey)return[3,13];o.label=9;case 9:return o.trys.push([9,12,,13]),[4,this.cryptoService.makeKeyPair()];case 10:return b=o.sent(),[4,this.apiService.postAccountKeys(new s.KeysRequest(b[0],b[1].encryptedString))];case 11:return o.sent(),C.privateKey=b[1].encryptedString,[3,13];case 12:return S=o.sent(),console.error(S),[3,13];case 13:return[4,this.cryptoService.setEncPrivateKey(C.privateKey)];case 14:o.sent(),o.label=15;case 15:return this.messagingService.send("loggedIn"),[2,m]}})})},n.prototype.clearState=function(){this.email=null,this.masterPasswordHash=null,this.twoFactorProviders=null,this.selectedTwoFactorProviderType=null},n}();l.AuthService=c},,,,,,,,,,,,,,,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.id=n.Id,this.readOnly=n.ReadOnly}}();l.SelectionReadOnlyResponse=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&l[0].status===i.OrganizationUserStatusType.Confirmed&&this.events(l[0]),[2]})})}),[2]}})})}),[2]})})},n.prototype.load=function(){return t(this,void 0,void 0,function(){var n,l=this;return u(this,function(e){switch(e.label){case 0:return[4,this.apiService.getOrganizationUsers(this.organizationId)];case 1:return n=e.sent(),this.statusMap.clear(),this.allUsers=null!=n.data&&n.data.length>0?n.data:[],this.allUsers.sort(a.Utils.getSortFunction(this.i18nService,"email")),this.allUsers.forEach(function(n){l.statusMap.has(n.status)?l.statusMap.get(n.status).push(n):l.statusMap.set(n.status,[n])}),this.filter(this.status),this.loading=!1,[2]}})})},n.prototype.filter=function(n){this.status=n,null!=this.status?this.users=this.statusMap.get(this.status):this.users=this.allUsers},Object.defineProperty(n.prototype,"invitedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Invited)?this.statusMap.get(i.OrganizationUserStatusType.Invited).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"acceptedCount",{get:function(){return this.statusMap.has(i.OrganizationUserStatusType.Accepted)?this.statusMap.get(i.OrganizationUserStatusType.Accepted).length:0},enumerable:!0,configurable:!0}),n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(c.UserAddEditComponent,this.addEditModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedUser.subscribe(function(){l.modal.close(),l.removeUser(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.invite=function(){this.edit(null)},n.prototype.groups=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.groupsModalRef.createComponent(e).instance;var t=this.modal.show(p.UserGroupsComponent,this.groupsModalRef);t.name=null!=n?n.name||n.email:null,t.organizationId=this.organizationId,t.organizationUserId=null!=n?n.id:null,t.onSavedUser.subscribe(function(){l.modal.close()}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.remove=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),n.name||n.email,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteOrganizationUser(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",n.name||n.email)),this.removeUser(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.reinvite=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.apiService.postOrganizationUserReinvite(this.organizationId,n.id),[4,this.actionPromise]);case 1:return l.sent(),this.analytics.eventTrack.next({action:"Reinvited User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenReinvited",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.confirm=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.doConfirmation(n),[4,this.actionPromise]);case 1:return l.sent(),n.status=i.OrganizationUserStatusType.Confirmed,this.analytics.eventTrack.next({action:"Confirmed User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenConfirmed",n.name||n.email)),this.actionPromise=null,[2]}})})},n.prototype.events=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(d.EntityEventsComponent,this.eventsModalRef)).name=n.name||n.email,e.organizationId=this.organizationId,e.entityId=n.id,e.showUser=!1,e.entity="user",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.doConfirmation=function(n){return t(this,void 0,void 0,function(){var l,e,t,i,r;return u(this,function(u){switch(u.label){case 0:return[4,this.cryptoService.getOrgKey(this.organizationId)];case 1:return l=u.sent(),[4,this.apiService.getUserPublicKey(n.userId)];case 2:return e=u.sent(),t=a.Utils.fromB64ToArray(e.publicKey),[4,this.cryptoService.rsaEncrypt(l.key,t.buffer)];case 3:return i=u.sent(),(r=new o.OrganizationUserConfirmRequest).key=i.encryptedString,[4,this.apiService.postOrganizationUserConfirm(this.organizationId,n.id,r)];case 4:return u.sent(),[2]}})})},n.prototype.removeUser=function(n){var l=this.users.indexOf(n);l>-1&&this.users.splice(l,1)},n}();l.PeopleComponent=f},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?n.data:[]).sort(o.Utils.getSortFunction(this.i18nService,"name")),this.groups=l,this.loading=!1,[2]}})})},n.prototype.edit=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(i.ModalComponent);this.modal=this.addEditModalRef.createComponent(e).instance;var t=this.modal.show(a.GroupAddEditComponent,this.addEditModalRef);t.organizationId=this.organizationId,t.groupId=null!=n?n.id:null,t.onSavedGroup.subscribe(function(){l.modal.close(),l.load()}),t.onDeletedGroup.subscribe(function(){l.modal.close(),l.removeGroup(n)}),this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.add=function(){this.edit(null)},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),n.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!l.sent())return[2,!1];l.label=2;case 2:return l.trys.push([2,4,,5]),[4,this.apiService.deleteGroup(this.organizationId,n.id)];case 3:return l.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",n.name)),this.removeGroup(n),[3,5];case 4:return l.sent(),[3,5];case 5:return[2]}})})},n.prototype.users=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(i.ModalComponent);this.modal=this.usersModalRef.createComponent(e).instance;var t=this.modal.show(r.EntityUsersComponent,this.usersModalRef);t.organizationId=this.organizationId,t.entity="group",t.entityId=n.id,t.entityName=n.name,this.modal.onClosed.subscribe(function(){l.modal=null})},n.prototype.removeGroup=function(n){var l=this.groups.indexOf(n);l>-1&&this.groups.splice(l,1)},n}();l.GroupsComponent=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EventsComponent=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Invited=0]="Invited",n[n.Accepted=1]="Accepted",n[n.Confirmed=2]="Confirmed"}(l.OrganizationUserStatusType||(l.OrganizationUserStatusType={}))},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.users.splice(l,1),[3,8];case 7:return e.sent(),[3,8];case 8:return[2]}})})},n}();l.EntityUsersComponent=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.id=n,this.readOnly=l}}();l.SelectionReadOnlyRequest=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.collections.splice(l,1)},n}();l.CollectionsComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.transform=function(n,l,e,t,u){return null==n||0===n.length?[]:null==l||l.length<2?n:(l=l.trim().toLowerCase(),n.filter(function(n){return null!=e&&null!=n[e]&&n[e].toString().toLowerCase().indexOf(l)>-1||(null!=t&&null!=n[t]&&n[t].toString().toLowerCase().indexOf(l)>-1||null!=u&&null!=n[u]&&n[u].toString().toLowerCase().indexOf(l)>-1)}))},n}();l.SearchPipe=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},n}();l.EntityEventsComponent=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.viewEvents(e[0]),[2]}})})}),[2]}})})})},n.prototype.clearGroupingFilters=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchVault"),[4,this.ciphersComponent.applyFilter()];case 1:return n.sent(),this.clearFilters(),this.go(),[2]}})})},n.prototype.filterCipherType=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchType"),e=function(l){return l.type===n},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.type=n,this.go(),[2]}})})},n.prototype.filterCollection=function(n,l){return void 0===l&&(l=!1),t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchCollection"),e=function(l){return"unassigned"===n?null==l.collectionIds||0===l.collectionIds.length:l.collectionIds.indexOf(n)>-1},l?[4,this.ciphersComponent.load(e)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(e)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n},n.prototype.editCipherAttachments=function(n){var l=this;if(null!=this.organization.maxStorageGb&&0!==this.organization.maxStorageGb){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.attachmentsModalRef.createComponent(e).instance;var i=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef);i.organization=this.organization,i.cipherId=n.id;var r=!1;i.onUploadedAttachment.subscribe(function(){return r=!0}),i.onDeletedAttachment.subscribe(function(){return r=!0}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,r?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return r=!1,[2]}})})})}else this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var i=this.modal.show(s.CollectionsComponent,this.collectionsModalRef);this.organization.isAdmin&&(i.collectionIds=n.collectionIds,i.collections=this.groupingsComponent.collections.filter(function(n){return!n.readOnly})),i.organization=this.organization,i.cipherId=n.id,i.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addCipher=function(){this.editCipher(null).type=this.type},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var i=this.modal.show(r.AddEditComponent,this.cipherAddEditModalRef);return i.organization=this.organization,i.cipherId=null==n?null:n.id,i.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),i.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),i},n.prototype.viewEvents=function(n){return t(this,void 0,void 0,function(){var l,e,t=this;return u(this,function(u){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.eventsModalRef.createComponent(l).instance,(e=this.modal.show(i.EntityEventsComponent,this.eventsModalRef)).name=n.name,e.organizationId=this.organization.id,e.entityId=n.id,e.showUser=!0,e.entity="cipher",this.modal.onClosed.subscribe(function(){t.modal=null}),[2]})})},n.prototype.clearFilters=function(){this.collectionId=null,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={type:this.type,collectionId:this.collectionId});var l=this.router.createUrlTree(["organizations",this.organization.id,"vault"],{queryParams:n}).toString();this.location.go(l)},n}());l.VaultComponent=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1}),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.submit=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.cipherDomain.collectionIds=this.collections.filter(function(n){return!!n.checked}).map(function(n){return n.id}),this.formPromise=this.saveCollections(),[4,this.formPromise];case 1:return n.sent(),this.onSavedCollections.emit(),this.analytics.eventTrack.next({action:"Edited Cipher Collections"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedItem")),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.loadCipherCollections=function(){return this.cipherDomain.collectionIds},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n=this;return u(this,function(l){switch(l.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,l.sent().filter(function(l){return!l.readOnly&&l.organizationId===n.cipher.organizationId})]}})})},n.prototype.saveCollections=function(){return this.cipherService.saveCollectionsWithServer(this.cipherDomain)},n}());l.CollectionsComponent=i},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(12),e(3),e(26),e(20),e(2),e(8),e(35);var o=function(n){function l(l,e,t,u,o,i,r){return n.call(this,l,e,t,u,o,i,r,window)||this}return u(l,n),l}(e(800).AttachmentsComponent);l.AttachmentsComponent=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1})];case 1:return l.sent(),this.clearFilters(),this.collectionId=n,this.go(),[2]}})})},n.prototype.filterSearchText=function(n){this.ciphersComponent.searchText=n},n.prototype.editCipherAttachments=function(n){return t(this,void 0,void 0,function(){var l,e,i,r,s,d=this;return u(this,function(c){switch(c.label){case 0:return[4,this.tokenService.getPremium()];case 1:return l=c.sent(),null!=n.organizationId||l?[3,2]:(this.messagingService.send("premiumRequired"),[2]);case 2:return null==n.organizationId?[3,4]:[4,this.userService.getOrganization(n.organizationId)];case 3:if(null!=(e=c.sent())&&(null==e.maxStorageGb||0===e.maxStorageGb))return this.messagingService.send("upgradeOrganization",{organizationId:n.organizationId}),[2];c.label=4;case 4:return null!=this.modal&&this.modal.close(),i=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.attachmentsModalRef.createComponent(i).instance,(r=this.modal.show(a.AttachmentsComponent,this.attachmentsModalRef)).cipherId=n.id,s=!1,r.onUploadedAttachment.subscribe(function(){return s=!0}),r.onDeletedAttachment.subscribe(function(){return s=!0}),this.modal.onClosed.subscribe(function(){return t(d,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal=null,s?[4,this.ciphersComponent.refresh()]:[3,2];case 1:n.sent(),n.label=2;case 2:return s=!1,[2]}})})}),[2]}})})},n.prototype.shareCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.shareModalRef.createComponent(e).instance;var i=this.modal.show(v.ShareComponent,this.shareModalRef);i.cipherId=n.id,i.onSharedCipher.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.editCipherCollections=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.collectionsModalRef.createComponent(e).instance;var i=this.modal.show(p.CollectionsComponent,this.collectionsModalRef);i.cipherId=n.id,i.onSavedCollections.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(l,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})},n.prototype.addFolder=function(){return t(this,void 0,void 0,function(){var n,l,e=this;return u(this,function(i){return null!=this.modal&&this.modal.close(),n=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(n).instance,(l=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=null,l.onSavedFolder.subscribe(function(){return t(e,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){e.modal=null}),[2]})})},n.prototype.editFolder=function(n){return t(this,void 0,void 0,function(){var l,e,i=this;return u(this,function(r){return null!=this.modal&&this.modal.close(),l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(l).instance,(e=this.modal.show(f.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=n,e.onSavedFolder.subscribe(function(){return t(i,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[2]}})})}),e.onDeletedFolder.subscribe(function(){return t(i,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return n.sent(),[4,this.filterFolder("none")];case 2:return n.sent(),this.groupingsComponent.selectedFolderId=null,[2]}})})}),this.modal.onClosed.subscribe(function(){i.modal=null}),[2]})})},n.prototype.addCipher=function(){var n=this.editCipher(null);n.type=this.type,n.folderId="none"===this.folderId?null:this.folderId},n.prototype.editCipher=function(n){var l=this;null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(e).instance;var i=this.modal.show(r.AddEditComponent,this.cipherAddEditModalRef);return i.cipherId=null==n?null:n.id,i.onSavedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),i.onDeletedCipher.subscribe(function(n){return t(l,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){l.modal=null}),i},n.prototype.bulkDelete=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkDeleteModalRef.createComponent(e).instance;var i=this.modal.show(s.BulkDeleteComponent,this.bulkDeleteModalRef);i.cipherIds=l,i.onDeleted.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkShare=function(){var n=this,l=this.ciphersComponent.getSelected();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkShareModalRef.createComponent(e).instance;var i=this.modal.show(c.BulkShareComponent,this.bulkShareModalRef);i.ciphers=l,i.onShared.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){return this.modal=null,[2]})})})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.bulkMove=function(){var n=this,l=this.ciphersComponent.getSelectedIds();if(0!==l.length){null!=this.modal&&this.modal.close();var e=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.bulkMoveModalRef.createComponent(e).instance;var i=this.modal.show(d.BulkMoveComponent,this.bulkMoveModalRef);i.cipherIds=l,i.onMoved.subscribe(function(){return t(n,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return n.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null})}else this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nothingSelected"))},n.prototype.selectAll=function(n){this.ciphersComponent.selectAll(n)},n.prototype.updateKey=function(){var n=this;null!=this.modal&&this.modal.close();var l=this.componentFactoryResolver.resolveComponentFactory(o.ModalComponent);this.modal=this.updateKeyModalRef.createComponent(l).instance,this.modal.show(i.UpdateKeyComponent,this.updateKeyModalRef),this.modal.onClosed.subscribe(function(){n.modal=null})},n.prototype.clearFilters=function(){this.folderId=null,this.collectionId=null,this.favorites=!1,this.type=null},n.prototype.go=function(n){void 0===n&&(n=null),null==n&&(n={favorites:!!this.favorites||null,type:this.type,folderId:this.folderId,collectionId:this.collectionId});var l=this.router.createUrlTree(["vault"],{queryParams:n}).toString();this.location.go(l)},n}());l.VaultComponent=h},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Domain=0]="Domain",n[n.Host=1]="Host",n[n.StartsWith=2]="StartsWith",n[n.Exact=3]="Exact",n[n.RegularExpression=4]="RegularExpression",n[n.Never=5]="Never"}(l.UriMatchType||(l.UriMatchType={}))},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?(n="http://"+n,l=!0):this.imageEnabled&&(l=0===n.indexOf("http")&&n.indexOf(".")>-1),this.imageEnabled&&l)try{this.image=this.iconsUrl+"/"+r.Utils.getHostname(n)+"/icon.png",this.fallbackImage="images/fa-globe.png"}catch(n){}}else this.image=null},n}();l.IconComponent=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(){}return n.prototype.ngOnInit=function(){document.body.classList.remove("layout_frontend")},n}();l.UserLayoutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(8);var t=function(){function n(n){this.platformUtilsService=n,this.year="2015"}return n.prototype.ngOnInit=function(){this.year=(new Date).getFullYear().toString(),this.version=this.platformUtilsService.getApplicationVersion()},n}();l.FooterComponent=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(n.email=l.email),null!=l.premium?n.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=l.org&&(n.showCreateOrgMessage=!0,n.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:l.org}}))})},l}(e(830).RegisterComponent);l.RegisterComponent=o},function(n,l,e){var t,u,o;u=[],void 0===(o="function"==typeof(t=function(){var n,l,e,t,u,o=/^(?:AUTH|ENROLL)+\|[A-Za-z0-9\+\/=]+\|[A-Za-z0-9\+\/=]+$/,i=/^ERR\|[\w\s\.\(\)]+$/,r=/^DUO_OPEN_WINDOW\|/,a=["duo.com","duosecurity.com","duomobile.s3-us-west-1.amazonaws.com"],s="duo_iframe",d="",c="sig_response";function p(n,l){throw new Error("Duo Web SDK error: "+n+(l?"\nSee "+l+" for more information":""))}function f(n,l){return"dataset"in n?n.dataset[l]:n.getAttribute("data-"+l.replace(/([a-z])([A-Z])/,"$1-$2").toLowerCase())}function v(n,l,e,t){"addEventListener"in window?n.addEventListener(l,t,!1):n.attachEvent(e,t)}function h(n,l,e,t){"removeEventListener"in window?n.removeEventListener(l,t,!1):n.detachEvent(e,t)}function g(n){v(document,"DOMContentLoaded","onreadystatechange",n)}function m(n){h(document,"DOMContentLoaded","onreadystatechange",n)}function y(n){if(n){0===n.indexOf("ERR|")&&p(n.split("|")[1]),-1!==n.indexOf(":")&&2===n.split(":").length||p("Duo was given a bad token. This might indicate a configuration problem with one of Duo's client libraries.","https://www.duosecurity.com/docs/duoweb#first-steps");var t=n.split(":");return l=t[0],e=t[1],{sigRequest:n,duoSig:t[0],appSig:t[1]}}}function C(){if(!(t=document.getElementById(s)))throw new Error('This page does not contain an iframe for Duo to use.Add an element like to this page. See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe for more information.');w(),m(C)}function b(l){return Boolean(l.origin==="https://"+n&&"string"==typeof l.data&&(l.data.match(o)||l.data.match(i)||l.data.match(r)))}function S(n){if(b(n))if(n.data.match(r)){var l=n.data.substring("DUO_OPEN_WINDOW|".length);(function(n){if(!n)return!1;var l=document.createElement("a");if(l.href=n,"duotrustedendpoints:"===l.protocol)return!0;if("https:"!==l.protocol)return!1;for(var e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(this.email=e.email),null!=e.premium?this.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=e.org&&this.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:e.org}}),[4,n.prototype.ngOnInit.call(this)];case 1:return l.sent(),[2]}})})}),[2]})})},l.prototype.goAfterLogIn=function(){return o(this,void 0,void 0,function(){var n,l;return i(this,function(e){switch(e.label){case 0:return[4,this.stateService.get("orgInvitation")];case 1:return null==(n=e.sent())?[3,2]:(this.router.navigate(["accept-organization"],{queryParams:n}),[3,6]);case 2:return[4,this.stateService.get("loginRedirect")];case 3:return null==(l=e.sent())?[3,5]:(this.router.navigate([l.route],{queryParams:l.qParams}),[4,this.stateService.remove("loginRedirect")]);case 4:return e.sent(),[3,6];case 5:this.router.navigate([this.successRoute]),e.label=6;case 6:return[2]}})})},l}(e(850).LoginComponent);l.LoginComponent=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(8);var t=function(){function n(n){this.platformUtilsService=n}return n.prototype.ngOnInit=function(){this.version=this.platformUtilsService.getApplicationVersion(),document.body.classList.add("layout_frontend")},n.prototype.ngOnDestroy=function(){document.body.classList.remove("layout_frontend")},n}();l.FrontendLayoutComponent=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.SettingsService=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.LockService=t},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=n.length&&(n=Array(l+1-n.length).join(e)+n),n},n.prototype.dec2hex=function(n){return(n<15.5?"0":"")+Math.round(n).toString(16)},n.prototype.hex2dec=function(n){return parseInt(n,16)},n.prototype.b32tohex=function(n){n=n.toUpperCase();for(var l="",e=0;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&n.push(l.domains)}),[2,this.settingsService.setEquivalentDomains(n)]})})},n}();l.SyncService=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.state={}}return n.prototype.get=function(n){return this.state.hasOwnProperty(n)?Promise.resolve(this.state[n]):Promise.resolve(null)},n.prototype.save=function(n,l){return this.state[n]=l,Promise.resolve()},n.prototype.remove=function(n){return delete this.state[n],Promise.resolve()},n.prototype.purge=function(){return this.state={},Promise.resolve()},n}();l.StateService=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0)for(p=0;p0)for(p=0;p0)for(p=0;p0)for(p=0;p100&&l.pop(),[4,this.encryptHistory(l)]);case 3:return e=t.sent(),[4,this.storageService.save(s,e)];case 4:return[2,t.sent()]}})})},n.prototype.clear=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.history=[],[4,this.storageService.remove(s)];case 1:return[2,n.sent()]}})})},n.prototype.encryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(o){switch(o.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.encrypt(n.password)];case 1:return l=e.sent(),[2,new i.PasswordHistory(l.encryptedString,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,o.sent()]}})})},n.prototype.decryptHistory=function(n){return t(this,void 0,void 0,function(){var l,e=this;return u(this,function(r){switch(r.label){case 0:return null==n||0===n.length?[2,Promise.resolve([])]:(l=n.map(function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.cryptoService.decryptToUtf8(new o.CipherString(n.password))];case 1:return l=e.sent(),[2,new i.PasswordHistory(l,n.date)]}})})}),[4,Promise.all(l)]);case 1:return[2,r.sent()]}})})},n.prototype.matchesPrevious=function(n,l){return null!=l&&0!==l.length&&l[l.length-1].password===n},n.prototype.shuffleArray=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:e=n.length-1,u.label=1;case 1:return e>0?[4,this.cryptoService.randomNumber(0,e)]:[3,4];case 2:t=u.sent(),l=[n[t],n[e]],n[e]=l[0],n[t]=l[1],u.label=3;case 3:return e--,[3,1];case 4:return[2]}})})},n}();l.PasswordGenerationService=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=e?[4,this.lock()]:[3,6]);case 5:t.sent(),t.label=6;case 6:return[2]}})})},n.prototype.lock=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,Promise.all([this.cryptoService.clearKey(),this.cryptoService.clearOrgKeys(!0),this.cryptoService.clearKeyPair(!0),this.cryptoService.clearEncKey(!0)])];case 1:return n.sent(),this.folderService.clearCache(),this.cipherService.clearCache(),this.collectionService.clearCache(),this.messagingService.send("locked"),null==this.lockedCallback?[3,3]:[4,this.lockedCallback()];case 2:n.sent(),n.label=3;case 3:return[2]}})})},n.prototype.setLockOption=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.storageService.save(o.ConstantsService.lockOptionKey,n)];case 1:return l.sent(),[4,this.cryptoService.toggleKey()];case 2:return l.sent(),[2]}})})},n}();l.LockService=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.cipherService.upsert(o)}return[2]}})})},n.prototype.deleteWithServer=function(n){return t(this,void 0,void 0,function(){return u(this,function(l){switch(l.label){case 0:return[4,this.apiService.deleteFolder(n)];case 1:return l.sent(),[4,this.delete(n)];case 2:return l.sent(),[2]}})})},n}();l.FolderService=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=0;r--)(u=n[r])&&(i=(o<3?u(i):o>3?u(l,e,i):u(l,e))||i);return o>3&&i&&Object.defineProperty(l,e,i),i},u=this&&this.__metadata||function(n,l){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,l)},o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?[2,this.orgKeys]:[4,this.storageService.get(h)];case 1:if(null==(n=i.sent()))return[2,null];for(u in l=new Map,e=!1,t=[],n)t.push(u);o=0,i.label=2;case 2:return o53)throw new Error("We cannot generate numbers larger than 53 bits.");return o=Math.ceil(u/8),r=Math.pow(2,u)-1,s=Uint8Array.bind,[4,this.cryptoFunctionService.randomBytes(o)];case 1:for(a=new(s.apply(Uint8Array,[void 0,i.sent()])),d=8*(o-1),c=0;c=t?[2,this.randomNumber(n,l)]:[2,n+e]}})})},n.prototype.aesEncrypt=function(n,l){return o(this,void 0,void 0,function(){var e,t,u,o,r,a;return i(this,function(i){switch(i.label){case 0:return e=new s.EncryptedObject,t=e,[4,this.getKeyForEncryption(l)];case 1:return t.key=i.sent(),u=e,[4,this.cryptoFunctionService.randomBytes(16)];case 2:return u.iv=i.sent(),o=e,[4,this.cryptoFunctionService.aesEncrypt(n,e.iv,e.key.encKey)];case 3:return o.data=i.sent(),null==e.key.macKey?[3,5]:((r=new Uint8Array(e.iv.byteLength+e.data.byteLength)).set(new Uint8Array(e.iv),0),r.set(new Uint8Array(e.data),e.iv.byteLength),a=e,[4,this.cryptoFunctionService.hmac(r.buffer,e.key.macKey,"sha256")]);case 4:a.mac=i.sent(),i.label=5;case 5:return[2,e]}})})},n.prototype.aesDecryptToUtf8=function(n,l,e,t,u){return o(this,void 0,void 0,function(){var o,r,a,s;return i(this,function(i){switch(i.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return o=i.sent(),null!=(r=this.resolveLegacyKey(n,o)).macKey&&null==t?(console.error("mac required."),[2,null]):r.encType!==n?(console.error("encType unavailable."),[2,null]):null==(a=this.cryptoFunctionService.aesDecryptFastParameters(l,e,t,r)).macKey||null==a.mac?[3,4]:[4,this.cryptoFunctionService.hmacFast(a.macData,a.macKey,"sha256")];case 2:return s=i.sent(),[4,this.cryptoFunctionService.compareFast(a.mac,s)];case 3:if(!i.sent())return console.error("mac failed."),[2,null];i.label=4;case 4:return[2,this.cryptoFunctionService.aesDecryptFast(a)]}})})},n.prototype.aesDecryptToBytes=function(n,l,e,t,u){return o(this,void 0,void 0,function(){var o,r,a,s;return i(this,function(i){switch(i.label){case 0:return[4,this.getKeyForEncryption(u)];case 1:return o=i.sent(),null!=(r=this.resolveLegacyKey(n,o)).macKey&&null==t?[2,null]:r.encType!==n?[2,null]:null==r.macKey||null==t?[3,4]:((a=new Uint8Array(e.byteLength+l.byteLength)).set(new Uint8Array(e),0),a.set(new Uint8Array(l),e.byteLength),[4,this.cryptoFunctionService.hmac(a.buffer,r.macKey,"sha256")]);case 2:return null===(s=i.sent())?[2,null]:[4,this.cryptoFunctionService.compare(t,s)];case 3:if(!i.sent())return console.error("mac failed."),[2,null];i.label=4;case 4:return[4,this.cryptoFunctionService.aesDecrypt(l,e,r.encKey)];case 5:return[2,i.sent()]}})})},n.prototype.rsaDecrypt=function(n){return o(this,void 0,void 0,function(){var l,e,t,u,o,a,s,d,c;return i(this,function(i){switch(i.label){case 0:if(l=n.split("."),e=null,1===l.length)e=r.EncryptionType.Rsa2048_OaepSha256_B64,t=[l[0]];else if(2===l.length)try{e=parseInt(l[0],null),t=l[1].split("|")}catch(n){}switch(e){case r.EncryptionType.Rsa2048_OaepSha256_B64:case r.EncryptionType.Rsa2048_OaepSha1_B64:if(1!==t.length)throw new Error("Invalid cipher format.");break;case r.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:case r.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:if(2!==t.length)throw new Error("Invalid cipher format.");break;default:throw new Error("encType unavailable.")}if(null==t||t.length<=0)throw new Error("encPieces unavailable.");return u=f.Utils.fromB64ToArray(t[0]).buffer,[4,this.getEncKey()];case 1:return null!=(o=i.sent())&&null!=o.macKey&&t.length>1?(a=f.Utils.fromB64ToArray(t[1]).buffer,[4,this.cryptoFunctionService.hmac(u,o.macKey,"sha256")]):[3,4];case 2:return s=i.sent(),[4,this.cryptoFunctionService.compare(a,s)];case 3:if(!i.sent())throw new Error("MAC failed.");i.label=4;case 4:return[4,this.getPrivateKey()];case 5:if(null==(d=i.sent()))throw new Error("No private key.");switch(c="sha1",e){case r.EncryptionType.Rsa2048_OaepSha256_B64:case r.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:c="sha256";break;case r.EncryptionType.Rsa2048_OaepSha1_B64:case r.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:break;default:throw new Error("encType unavailable.")}return[2,this.cryptoFunctionService.rsaDecrypt(u,d,c)]}})})},n.prototype.getKeyForEncryption=function(n){return o(this,void 0,void 0,function(){var l;return i(this,function(e){switch(e.label){case 0:return null!=n?[2,n]:[4,this.getEncKey()];case 1:return null!=(l=e.sent())?[2,l]:[4,this.getKey()];case 2:return[2,e.sent()]}})})},n.prototype.resolveLegacyKey=function(n,l){return n===r.EncryptionType.AesCbc128_HmacSha256_B64&&l.encType===r.EncryptionType.AesCbc256_B64?(null==this.legacyEtmKey&&(this.legacyEtmKey=new d.SymmetricCryptoKey(l.key,r.EncryptionType.AesCbc128_HmacSha256_B64)),this.legacyEtmKey):l},n.prototype.stretchKey=function(n){return o(this,void 0,void 0,function(){var l,e,t,u,o;return i(this,function(i){switch(i.label){case 0:return l=new Uint8Array(64),t=(e=l).set,[4,this.hkdfExpand(n.key,f.Utils.fromUtf8ToArray("enc"),32)];case 1:return t.apply(e,[i.sent()]),o=(u=l).set,[4,this.hkdfExpand(n.key,f.Utils.fromUtf8ToArray("mac"),32)];case 2:return o.apply(u,[i.sent(),32]),[2,new d.SymmetricCryptoKey(l.buffer)]}})})},n.prototype.hkdfExpand=function(n,l,e){return o(this,void 0,void 0,function(){var t,u,o,r,a,s,d;return i(this,function(i){switch(i.label){case 0:t=32,u=new Uint8Array(e),o=new Uint8Array(0),r=Math.ceil(e/t),a=0,i.label=1;case 1:return a0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1})]}})})},l.prototype.getAllDecryptedForUrl=function(n,l){return t(this,void 0,void 0,function(){var e,t,r,a;return u(this,function(u){switch(u.label){case 0:return null!=n||l?(e=this.platformUtilsService.getDomain(n),t=null==e?Promise.resolve([]):this.settingsService.getEquivalentDomains().then(function(n){var l=[];return n.forEach(function(n){n.length&&n.indexOf(e)>=0&&(l=l.concat(n))}),l.length||l.push(e),l}),[4,Promise.all([t,this.getAllDecrypted()])]):[2,Promise.resolve([])];case 1:return r=u.sent(),a=r[0],[2,r[1].filter(function(t){if(l&&l.indexOf(t.type)>-1)return!0;if(null!=n&&t.type===o.CipherType.Login&&null!=t.login.uris)for(var u=0;u-1)return!0;break;case i.UriMatchType.Host:var s=w.Utils.getHost(n);if(null!=s&&s===w.Utils.getHost(r.uri))return!0;break;case i.UriMatchType.Exact:if(n===r.uri)return!0;break;case i.UriMatchType.StartsWith:if(n.startsWith(r.uri))return!0;break;case i.UriMatchType.RegularExpression:try{if(new RegExp(r.uri,"i").test(n))return!0}catch(n){}break;case i.UriMatchType.Never:}}return!1})]}})})},l.prototype.getLastUsedForUrl=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.getAllDecryptedForUrl(n)];case 1:return 0===(l=e.sent()).length?[2,null]:[2,l.sort(this.sortCiphersByLastUsed)[0]]}})})},l.prototype.updateLastUsedDate=function(n){return t(this,void 0,void 0,function(){var l,e,t;return u(this,function(u){switch(u.label){case 0:return[4,this.storageService.get(_)];case 1:return(l=u.sent())||(l={}),l[n]?l[n].lastUsedDate=(new Date).getTime():l[n]={lastUsedDate:(new Date).getTime()},[4,this.storageService.save(_,l)];case 2:if(u.sent(),null==this.decryptedCipherCache)return[2];for(e=0;et?-1:null!=t&&null==e?1:0},l.prototype.sortCiphersByLastUsedThenName=function(n,l){var e=this.sortCiphersByLastUsed(n,l);return 0!==e?e:this.getLocaleSortingFunction()(n,l)},l.prototype.getLocaleSortingFunction=function(){var n=this;return function(l,e){var t=l.name,u=e.name;if(null==t&&null!=u)return-1;if(null!=t&&null==u)return 1;if(null==t&&null==u)return 0;var i=n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u);return 0!==i||l.type!==o.CipherType.Login||e.type!==o.CipherType.Login?i:(null!=l.login.username&&(t+=l.login.username),null!=e.login.username&&(u+=e.login.username),n.i18nService.collator?n.i18nService.collator.compare(t,u):t.localeCompare(u))}},l.prototype.encryptObjProperty=function(n,l,e,o){return t(this,void 0,void 0,function(){var t,i,r;return u(this,function(u){switch(u.label){case 0:for(r in t=[],i=this,e)e.hasOwnProperty(r)&&function(l,u){var r=Promise.resolve().then(function(){var t=n[e[l]||l];return t&&""!==t?i.cryptoService.encrypt(t,o):null}).then(function(n){u[l]=n});t.push(r)}(r,l);return[4,Promise.all(t)];case 1:return u.sent(),[2]}})})},l.prototype.encryptCipherData=function(n,l,e){return t(this,void 0,void 0,function(){var t,i;return u(this,function(u){switch(u.label){case 0:switch(n.type){case o.CipherType.Login:return[3,1];case o.CipherType.SecureNote:return[3,7];case o.CipherType.Card:return[3,8];case o.CipherType.Identity:return[3,10]}return[3,12];case 1:return n.login=new f.Login,[4,this.encryptObjProperty(l.login,n.login,{username:null,password:null,totp:null},e)];case 2:if(u.sent(),null==l.login.uris)return[3,6];n.login.uris=[],t=0,u.label=3;case 3:return t0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1?[4,l.json()]:[3,3];case 2:e=u.sent(),u.label=3;case 3:return null==e?[3,6]:200!==l.status?[3,4]:[2,new g.IdentityTokenResponse(e)];case 4:return 400===l.status&&e.TwoFactorProviders2&&Object.keys(e.TwoFactorProviders2).length?[4,this.tokenService.clearTwoFactorToken(n.email)]:[3,6];case 5:return u.sent(),[2,new m.IdentityTwoFactorResponse(e)];case 6:return[2,Promise.reject(new c.ErrorResponse(e,l.status,!0))]}})})},n.prototype.refreshIdentityToken=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,this.doRefreshToken()];case 1:return n.sent(),[3,3];case 2:return n.sent(),[2,Promise.reject(null)];case 3:return[2]}})})},n.prototype.getProfile=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/profile",null,!0,!0)];case 1:return n=l.sent(),[2,new w.ProfileResponse(n)]}})})},n.prototype.getUserBilling=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/accounts/billing",null,!0,!0)];case 1:return n=l.sent(),[2,new i.BillingResponse(n)]}})})},n.prototype.putProfile=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/accounts/profile",n,!0,!0)];case 1:return l=e.sent(),[2,new w.ProfileResponse(l)]}})})},n.prototype.postEmailToken=function(n){return this.send("POST","/accounts/email-token",n,!0,!1)},n.prototype.postEmail=function(n){return this.send("POST","/accounts/email",n,!0,!1)},n.prototype.postPassword=function(n){return this.send("POST","/accounts/password",n,!0,!1)},n.prototype.postSecurityStamp=function(n){return this.send("POST","/accounts/security-stamp",n,!0,!1)},n.prototype.deleteAccount=function(n){return this.send("DELETE","/accounts",n,!0,!1)},n.prototype.getAccountRevisionDate=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.send("GET","/accounts/revision-date",null,!0,!0)];case 1:return[2,n.sent()]}})})},n.prototype.postPasswordHint=function(n){return this.send("POST","/accounts/password-hint",n,!1,!1)},n.prototype.postRegister=function(n){return this.send("POST","/accounts/register",n,!1,!1)},n.prototype.postPremium=function(n){return this.send("POST","/accounts/premium",n,!0,!1)},n.prototype.postReinstatePremium=function(){return this.send("POST","/accounts/reinstate-premium",null,!0,!1)},n.prototype.postCancelPremium=function(){return this.send("POST","/accounts/cancel-premium",null,!0,!1)},n.prototype.postAccountStorage=function(n){return this.send("POST","/accounts/storage",n,!0,!1)},n.prototype.postAccountPayment=function(n){return this.send("POST","/accounts/payment",n,!0,!1)},n.prototype.postAccountLicense=function(n){return this.send("POST","/accounts/license",n,!0,!1)},n.prototype.postAccountKeys=function(n){return this.send("POST","/accounts/keys",n,!0,!1)},n.prototype.postAccountKey=function(n){return this.send("POST","/accounts/key",n,!0,!1)},n.prototype.postAccountVerifyEmail=function(){return this.send("POST","/accounts/verify-email",null,!0,!1)},n.prototype.postAccountVerifyEmailToken=function(n){return this.send("POST","/accounts/verify-email-token",n,!1,!1)},n.prototype.postAccountRecoverDelete=function(n){return this.send("POST","/accounts/delete-recover",n,!1,!1)},n.prototype.postAccountRecoverDeleteToken=function(n){return this.send("POST","/accounts/delete-recover-token",n,!1,!1)},n.prototype.postFolder=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/folders",n,!0,!0)];case 1:return l=e.sent(),[2,new f.FolderResponse(l)]}})})},n.prototype.putFolder=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/folders/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new f.FolderResponse(e)]}})})},n.prototype.deleteFolder=function(n){return this.send("DELETE","/folders/"+n,null,!0,!1)},n.prototype.getCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.getCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/"+n+"/admin",null,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.getCiphersOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/ciphers/organization-details?organizationId="+n,null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,r.CipherResponse)]}})})},n.prototype.postCipher=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers",n,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.postCipherAdmin=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/ciphers/admin",n,!0,!0)];case 1:return l=e.sent(),[2,new r.CipherResponse(l)]}})})},n.prototype.putCipher=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.putCipherAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/ciphers/"+n+"/admin",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.deleteCipher=function(n){return this.send("DELETE","/ciphers/"+n,null,!0,!1)},n.prototype.deleteCipherAdmin=function(n){return this.send("DELETE","/ciphers/"+n+"/admin",null,!0,!1)},n.prototype.deleteManyCiphers=function(n){return this.send("DELETE","/ciphers",n,!0,!1)},n.prototype.putMoveCiphers=function(n){return this.send("PUT","/ciphers/move",n,!0,!1)},n.prototype.putShareCipher=function(n,l){return this.send("PUT","/ciphers/"+n+"/share",l,!0,!1)},n.prototype.putShareCiphers=function(n){return this.send("PUT","/ciphers/share",n,!0,!1)},n.prototype.putCipherCollections=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections",l,!0,!1)},n.prototype.putCipherCollectionsAdmin=function(n,l){return this.send("PUT","/ciphers/"+n+"/collections-admin",l,!0,!1)},n.prototype.postPurgeCiphers=function(n){return this.send("POST","/ciphers/purge",n,!0,!1)},n.prototype.postImportCiphers=function(n){return this.send("POST","/ciphers/import",n,!0,!1)},n.prototype.postImportOrganizationCiphers=function(n,l){return this.send("POST","/ciphers/import-organization?organizationId="+n,l,!0,!1)},n.prototype.postCipherAttachment=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.postCipherAttachmentAdmin=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/ciphers/"+n+"/attachment-admin",l,!0,!0)];case 1:return e=t.sent(),[2,new r.CipherResponse(e)]}})})},n.prototype.deleteCipherAttachment=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l,null,!0,!1)},n.prototype.deleteCipherAttachmentAdmin=function(n,l){return this.send("DELETE","/ciphers/"+n+"/attachment/"+l+"/admin",null,!0,!1)},n.prototype.postShareCipherAttachment=function(n,l,e,t){return this.send("POST","/ciphers/"+n+"/attachment/"+l+"/share?organizationId="+t,e,!0,!1)},n.prototype.getCollectionDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new a.CollectionGroupDetailsResponse(e)]}})})},n.prototype.getCollections=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,a.CollectionResponse)]}})})},n.prototype.getCollectionUsers=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/collections/"+l+"/users",null,!0,!0)];case 1:return e=t.sent(),[2,new y.ListResponse(e,s.CollectionUserResponse)]}})})},n.prototype.postCollection=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/collections",l,!0,!0)];case 1:return e=t.sent(),[2,new a.CollectionResponse(e)]}})})},n.prototype.putCollection=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/collections/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new a.CollectionResponse(t)]}})})},n.prototype.deleteCollection=function(n,l){return this.send("DELETE","/organizations/"+n+"/collections/"+l,null,!0,!1)},n.prototype.deleteCollectionUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/collections/"+l+"/user/"+e,null,!0,!1)},n.prototype.getGroupDetails=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/details",null,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupDetailsResponse(e)]}})})},n.prototype.getGroups=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,v.GroupResponse)]}})})},n.prototype.getGroupUsers=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/groups/"+l+"/users",null,!0,!0)];case 1:return e=t.sent(),[2,new y.ListResponse(e,h.GroupUserResponse)]}})})},n.prototype.postGroup=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/groups",l,!0,!0)];case 1:return e=t.sent(),[2,new v.GroupResponse(e)]}})})},n.prototype.putGroup=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/groups/"+l,e,!0,!0)];case 1:return t=u.sent(),[2,new v.GroupResponse(t)]}})})},n.prototype.deleteGroup=function(n,l){return this.send("DELETE","/organizations/"+n+"/groups/"+l,null,!0,!1)},n.prototype.deleteGroupUser=function(n,l,e){return this.send("DELETE","/organizations/"+n+"/groups/"+l+"/user/"+e,null,!0,!1)},n.prototype.getOrganizationUser=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l,null,!0,!0)];case 1:return e=t.sent(),[2,new S.OrganizationUserDetailsResponse(e)]}})})},n.prototype.getOrganizationUserGroups=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users/"+l+"/groups",null,!0,!0)];case 1:return[2,e.sent()]}})})},n.prototype.getOrganizationUsers=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/users",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,S.OrganizationUserUserDetailsResponse)]}})})},n.prototype.postOrganizationUserInvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/invite",l,!0,!1)},n.prototype.postOrganizationUserReinvite=function(n,l){return this.send("POST","/organizations/"+n+"/users/"+l+"/reinvite",null,!0,!1)},n.prototype.postOrganizationUserAccept=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/accept",e,!0,!1)},n.prototype.postOrganizationUserConfirm=function(n,l,e){return this.send("POST","/organizations/"+n+"/users/"+l+"/confirm",e,!0,!1)},n.prototype.putOrganizationUser=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l,e,!0,!1)},n.prototype.putOrganizationUserGroups=function(n,l,e){return this.send("PUT","/organizations/"+n+"/users/"+l+"/groups",e,!0,!1)},n.prototype.deleteOrganizationUser=function(n,l){return this.send("DELETE","/organizations/"+n+"/users/"+l,null,!0,!1)},n.prototype.getSync=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=this.isDesktopClient||this.isWebClient?"/sync?excludeDomains=true":"/sync",[4,this.send("GET",n,null,!0,!0)];case 1:return l=e.sent(),[2,new R.SyncResponse(l)]}})})},n.prototype.postImportDirectory=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/import",l,!0,!1)]})})},n.prototype.getSettingsDomains=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/settings/domains",null,!0,!0)];case 1:return n=l.sent(),[2,new d.DomainsResponse(n)]}})})},n.prototype.putSettingsDomains=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/settings/domains",n,!0,!0)];case 1:return l=e.sent(),[2,new d.DomainsResponse(l)]}})})},n.prototype.getTwoFactorProviders=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return[4,this.send("GET","/two-factor",null,!0,!0)];case 1:return n=l.sent(),[2,new y.ListResponse(n,E.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorOrganizationProviders=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/two-factor",null,!0,!0)];case 1:return l=e.sent(),[2,new y.ListResponse(l,E.TwoFactorProviderResponse)]}})})},n.prototype.getTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new _.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.getTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-email",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorEmailResponse(l)]}})})},n.prototype.getTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-duo",n,!0,!0)];case 1:return l=e.sent(),[2,new I.TwoFactorDuoResponse(l)]}})})},n.prototype.getTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("POST","/organizations/"+n+"/two-factor/get-duo",l,!0,!0)];case 1:return e=t.sent(),[2,new I.TwoFactorDuoResponse(e)]}})})},n.prototype.getTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.getTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.getTwoFactorRecover=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/two-factor/get-recover",n,!0,!0)];case 1:return l=e.sent(),[2,new O.TwoFactorRecoverResponse(l)]}})})},n.prototype.putTwoFactorAuthenticator=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/authenticator",n,!0,!0)];case 1:return l=e.sent(),[2,new _.TwoFactorAuthenticatorResponse(l)]}})})},n.prototype.putTwoFactorEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/email",n,!0,!0)];case 1:return l=e.sent(),[2,new A.TwoFactorEmailResponse(l)]}})})},n.prototype.putTwoFactorDuo=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/duo",n,!0,!0)];case 1:return l=e.sent(),[2,new I.TwoFactorDuoResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDuo=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/duo",l,!0,!0)];case 1:return e=t.sent(),[2,new I.TwoFactorDuoResponse(e)]}})})},n.prototype.putTwoFactorYubiKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/yubikey",n,!0,!0)];case 1:return l=e.sent(),[2,new T.TwoFactorYubiKeyResponse(l)]}})})},n.prototype.putTwoFactorU2f=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/u2f",n,!0,!0)];case 1:return l=e.sent(),[2,new N.TwoFactorU2fResponse(l)]}})})},n.prototype.putTwoFactorDisable=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("PUT","/two-factor/disable",n,!0,!0)];case 1:return l=e.sent(),[2,new E.TwoFactorProviderResponse(l)]}})})},n.prototype.putTwoFactorOrganizationDisable=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n+"/two-factor/disable",l,!0,!0)];case 1:return e=t.sent(),[2,new E.TwoFactorProviderResponse(e)]}})})},n.prototype.postTwoFactorRecover=function(n){return this.send("POST","/two-factor/recover",n,!1,!1)},n.prototype.postTwoFactorEmailSetup=function(n){return this.send("POST","/two-factor/send-email",n,!0,!1)},n.prototype.postTwoFactorEmail=function(n){return this.send("POST","/two-factor/send-email-login",n,!1,!1)},n.prototype.getOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n,null,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.getOrganizationBilling=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/organizations/"+n+"/billing",null,!0,!0)];case 1:return l=e.sent(),[2,new C.OrganizationBillingResponse(l)]}})})},n.prototype.getOrganizationLicense=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("GET","/organizations/"+n+"/license?installationId="+l,null,!0,!0)]})})},n.prototype.postOrganization=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations",n,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.putOrganization=function(n,l){return t(this,void 0,void 0,function(){var e;return u(this,function(t){switch(t.label){case 0:return[4,this.send("PUT","/organizations/"+n,l,!0,!0)];case 1:return e=t.sent(),[2,new b.OrganizationResponse(e)]}})})},n.prototype.postLeaveOrganization=function(n){return this.send("POST","/organizations/"+n+"/leave",null,!0,!1)},n.prototype.postOrganizationLicense=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("POST","/organizations/license",n,!0,!0)];case 1:return l=e.sent(),[2,new b.OrganizationResponse(l)]}})})},n.prototype.postOrganizationLicenseUpdate=function(n,l){return t(this,void 0,void 0,function(){return u(this,function(e){return[2,this.send("POST","/organizations/"+n+"/license",l,!0,!1)]})})},n.prototype.postOrganizationSeat=function(n,l){return this.send("POST","/organizations/"+n+"/seat",l,!0,!1)},n.prototype.postOrganizationStorage=function(n,l){return this.send("POST","/organizations/"+n+"/storage",l,!0,!1)},n.prototype.postOrganizationPayment=function(n,l){return this.send("POST","/organizations/"+n+"/payment",l,!0,!1)},n.prototype.postOrganizationVerifyBank=function(n,l){return this.send("POST","/organizations/"+n+"/verify-bank",l,!0,!1)},n.prototype.postOrganizationCancel=function(n){return this.send("POST","/organizations/"+n+"/cancel",null,!0,!1)},n.prototype.postOrganizationReinstate=function(n){return this.send("POST","/organizations/"+n+"/reinstate",null,!0,!1)},n.prototype.deleteOrganization=function(n,l){return this.send("DELETE","/organizations/"+n,l,!0,!1)},n.prototype.getEvents=function(n,l,e){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/events",n,l,e),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsCipher=function(n,l,e,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/ciphers/"+n+"/events",l,e,o),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganization=function(n,l,e,o){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/events",l,e,o),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getEventsOrganizationUser=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t;return u(this,function(u){switch(u.label){case 0:return[4,this.send("GET",this.addEventParameters("/organizations/"+n+"/users/"+l+"/events",e,o,i),null,!0,!0)];case 1:return t=u.sent(),[2,new y.ListResponse(t,p.EventResponse)]}})})},n.prototype.getUserPublicKey=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return[4,this.send("GET","/users/"+n+"/public-key",null,!0,!0)];case 1:return l=e.sent(),[2,new k.UserKeyResponse(l)]}})})},n.prototype.fetch=function(n){return"GET"===n.method&&(n.headers.set("Cache-Control","no-cache"),n.headers.set("Pragma","no-cache")),fetch(n)},n.prototype.send=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t,r,a,s,d;return u(this,function(u){switch(u.label){case 0:return t=new Headers({"Device-Type":this.deviceType}),r={cache:"no-cache",credentials:this.getCredentials(),method:n},o?[4,this.handleTokenState()]:[3,2];case 1:a=u.sent(),t.set("Authorization",a),u.label=2;case 2:return null!=e&&("string"==typeof e?(r.body=e,t.set("Content-Type","application/x-www-form-urlencoded; charset=utf-8")):"object"==typeof e&&(e instanceof FormData?r.body=e:(t.set("Content-Type","application/json; charset=utf-8"),r.body=JSON.stringify(e)))),i&&t.set("Accept","application/json"),r.headers=t,[4,this.fetch(new Request(this.apiBaseUrl+l,r))];case 3:return s=u.sent(),i&&200===s.status?[4,s.json()]:[3,5];case 4:return[2,u.sent()];case 5:return 200===s.status?[3,7]:[4,this.handleError(s,!1)];case 6:return d=u.sent(),[2,Promise.reject(d)];case 7:return[2]}})})},n.prototype.handleError=function(n,l){return t(this,void 0,void 0,function(){var e,t;return u(this,function(u){switch(u.label){case 0:return l&&400===n.status||401===n.status||403===n.status?[4,this.logoutCallback(!0)]:[3,2];case 1:return u.sent(),[2,null];case 2:return e=null,null!=(t=n.headers.get("content-type"))&&t.indexOf("application/json")>-1?[4,n.json()]:[3,4];case 3:e=u.sent(),u.label=4;case 4:return[2,new c.ErrorResponse(e,n.status,l)]}})})},n.prototype.handleTokenState=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return[4,this.tokenService.getToken()];case 1:return n=e.sent(),this.tokenService.tokenNeedsRefresh()?[4,this.doRefreshToken()]:[3,3];case 2:l=e.sent(),n=l.accessToken,e.label=3;case 3:return[2,"Bearer "+n]}})})},n.prototype.doRefreshToken=function(){return t(this,void 0,void 0,function(){var n,l,e,t,o,i;return u(this,function(u){switch(u.label){case 0:return[4,this.tokenService.getRefreshToken()];case 1:if(null==(n=u.sent())||""===n)throw new Error;return l=this.tokenService.decodeToken(),[4,this.fetch(new Request(this.identityBaseUrl+"/connect/token",{body:this.qsStringify({grant_type:"refresh_token",client_id:l.client_id,refresh_token:n}),cache:"no-cache",credentials:this.getCredentials(),headers:new Headers({"Content-Type":"application/x-www-form-urlencoded; charset=utf-8",Accept:"application/json","Device-Type":this.deviceType}),method:"POST"}))];case 2:return 200!==(e=u.sent()).status?[3,5]:[4,e.json()];case 3:return t=u.sent(),o=new g.IdentityTokenResponse(t),[4,this.tokenService.setTokens(o.accessToken,o.refreshToken)];case 4:return u.sent(),[2,o];case 5:return[4,this.handleError(e,!0)];case 6:return i=u.sent(),[2,Promise.reject(i)]}})})},n.prototype.qsStringify=function(n){return Object.keys(n).map(function(l){return encodeURIComponent(l)+"="+encodeURIComponent(n[l])}).join("&")},n.prototype.getCredentials=function(){if(!this.isWebClient||this.usingBaseUrl)return"include"},n.prototype.addEventParameters=function(n,l,e,t){return null!=l&&(n+="?start="+l),null!=e&&(n+=n.indexOf("?")>-1?"&":"?",n+="end="+e),null!=t&&(n+=n.indexOf("?")>-1?"&":"?",n+="continuationToken="+t),n},n}();l.ApiService=V},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0),e(13);var t=function(){function n(n,l){this.elementRef=n,this.renderer=l,this.trueValue=!0,this.falseValue=!1,this.propagateChange=function(n){}}return n.prototype.onHostChange=function(n){this.propagateChange(n.target.checked?this.trueValue:this.falseValue)},n.prototype.writeValue=function(n){n===this.trueValue?this.renderer.setProperty(this.elementRef.nativeElement,"checked",!0):this.renderer.setProperty(this.elementRef.nativeElement,"checked",!1)},n.prototype.registerOnChange=function(n){this.propagateChange=n},n.prototype.registerOnTouched=function(n){},n.prototype.setDisabledState=function(n){},n}();l.TrueFalseValueDirective=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});e(0);var t=function(){function n(n){this.elRef=n,this.el=null,this.el=n.nativeElement}return n.prototype.ngOnInit=function(){var n=this;this.formEls=Array.from(this.el.querySelectorAll('input:not([type="hidden"]), select, textarea')),this.formEls.forEach(function(l){l.addEventListener("focus",function(l){n.el.classList.add("active")},!1),l.addEventListener("blur",function(l){n.el.classList.remove("active")},!1)})},n.prototype.onClick=function(n){if(n.target===this.el&&this.formEls.length>0){var l=this.formEls[0];if("input"===l.tagName.toLowerCase()){var e=l;if(null!=e.type&&"checkbox"===e.type.toLowerCase())return void e.click()}l.focus()}},n}();l.BoxRowDirective=t},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(l[0].checked=!0)}),[3,5];case 4:return u.sent(),[3,5];case 5:return this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new i.OrganizationUserUpdateGroupsRequest).groupIds=this.groups.filter(function(n){return n.checked}).map(function(n){return n.id}),l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.apiService.putOrganizationUserGroups(this.organizationId,this.organizationUserId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:"Edited User Groups"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedGroupsForUser",this.name)),this.onSavedUser.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n}();l.UserGroupsComponent=a},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("inviteUser"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new r.Collection(new i.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:n=null,"all"!==this.access&&(n=this.collections.filter(function(n){return n.checked}).map(function(n){return new d.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),e.label=1;case 1:return e.trys.push([1,3,,4]),this.editMode?((l=new s.OrganizationUserUpdateRequest).accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.putOrganizationUser(this.organizationId,this.organizationUserId,l)):((l=new a.OrganizationUserInviteRequest).emails=this.emails.trim().split(/\s*,\s*/),l.accessAll="all"===this.access,l.type=this.type,l.collections=n,this.formPromise=this.apiService.postOrganizationUserInvite(this.organizationId,l)),[4,this.formPromise];case 2:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited User":"Invited User"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedUserId":"invitedUsers",this.name)),this.onSavedUser.emit(),[3,4];case 3:return e.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteOrganizationUser(this.organizationId,this.organizationUserId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",this.name)),this.onDeletedUser.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.UserAddEditComponent=p},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(e[0].checked=!0,e[0].readOnly=n.readOnly)}),[3,5];case 4:return e.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("addGroup"),e.label=7;case 7:return this.loading=!1,[2]}})})},n.prototype.loadCollections=function(){return t(this,void 0,void 0,function(){var n,l,e;return u(this,function(t){switch(t.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return n=t.sent(),l=n.data.map(function(n){return new r.Collection(new i.CollectionData(n))}),e=this,[4,this.collectionService.decryptMany(l)];case 2:return e.collections=t.sent(),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1)},n.prototype.selectAll=function(n){var l=this;this.collections.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:(n=new a.GroupRequest).name=this.name,n.externalId=this.externalId,n.accessAll="all"===this.access,n.accessAll||(n.collections=this.collections.filter(function(n){return n.checked}).map(function(n){return new s.SelectionReadOnlyRequest(n.id,!!n.readOnly)})),l.label=1;case 1:return l.trys.push([1,3,,4]),this.editMode?this.formPromise=this.apiService.putGroup(this.organizationId,this.groupId,n):this.formPromise=this.apiService.postGroup(this.organizationId,n),[4,this.formPromise];case 2:return l.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Group":"Created Group"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedGroupId":"createdGroupId",this.name)),this.onSavedGroup.emit(),[3,4];case 3:return l.sent(),[3,4];case 4:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteGroup(this.organizationId,this.groupId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",this.name)),this.onDeletedGroup.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.GroupAddEditComponent=d},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(l[0].checked=!0,l[0].readOnly=n.readOnly)}),[3,7];case 6:return u.sent(),[3,7];case 7:return[3,9];case 8:this.title=this.i18nService.t("addCollection"),u.label=9;case 9:return this.groups.forEach(function(n){n.accessAll&&(n.checked=!0)}),this.loading=!1,[2]}})})},n.prototype.check=function(n,l){n.accessAll||(n.checked=null==l?!n.checked:l,n.checked||(n.readOnly=!1))},n.prototype.selectAll=function(n){var l=this;this.groups.forEach(function(e){return l.check(e,n)})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l;return u(this,function(e){switch(e.label){case 0:return n=new r.CollectionRequest,l=n,[4,this.cryptoService.encrypt(this.name,this.orgKey)];case 1:l.name=e.sent().encryptedString,n.groups=this.groups.filter(function(n){return n.checked&&!n.accessAll}).map(function(n){return new a.SelectionReadOnlyRequest(n.id,!!n.readOnly)}),e.label=2;case 2:return e.trys.push([2,4,,5]),this.editMode?this.formPromise=this.apiService.putCollection(this.organizationId,this.collectionId,n):this.formPromise=this.apiService.postCollection(this.organizationId,n),[4,this.formPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Collection":"Created Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedCollectionId":"createdCollectionId",this.name)),this.onSavedCollection.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteCollection(this.organizationId,this.collectionId),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",this.name)),this.onDeletedCollection.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},n}();l.CollectionAddEditComponent=d},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.groups=[],null!=n&&(this.name=n.name?n.name.encryptedString:null)}}();l.CollectionRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.collectionIds=null==n?[]:n}}();l.CipherCollectionsRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(n.uris=[],this.uris.forEach(function(l){n.uris.push(l.toLoginUriData())})),n},l}(e(100).default);l.Login=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(533),i=e(100),r=e(217),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.IdentityView(this),{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null},n)},l.prototype.toIdentityData=function(){var n=new o.IdentityData;return this.buildDataModel(this,n,{title:null,firstName:null,middleName:null,lastName:null,address1:null,address2:null,address3:null,city:null,state:null,postalCode:null,country:null,company:null,email:null,phone:null,ssn:null,username:null,passportNumber:null,licenseNumber:null}),n},l}(i.default);l.Identity=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(534),i=e(100),r=e(179),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.type=l.type,t.buildDomainModel(t,l,{name:null,value:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.FieldView(this),{name:null,value:null},n)},l.prototype.toFieldData=function(){var n=new o.FieldData;return this.buildDataModel(this,n,{name:null,value:null,type:null},["type"]),n},l}(i.default);l.Field=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(535),i=e(100),r=e(115),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.buildDomainModel(t,l,{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null},e,[]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.CardView(this),{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null},n)},l.prototype.toCardData=function(){var n=new o.CardData;return this.buildDataModel(this,n,{cardholderName:null,brand:null,number:null,expMonth:null,expYear:null,code:null}),n},l}(i.default);l.Card=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(536),i=e(100),r=e(538),a=function(n){function l(l,e){void 0===e&&(e=!1);var t=n.call(this)||this;return null==l?t:(t.size=l.size,t.buildDomainModel(t,l,{id:null,url:null,sizeName:null,fileName:null},e,["id","url","sizeName"]),t)}return u(l,n),l.prototype.decrypt=function(n){return this.decryptObj(new r.AttachmentView(this),{fileName:null},n)},l.prototype.toAttachmentData=function(){var n=new o.AttachmentData;return this.buildDataModel(this,n,{id:null,url:null,sizeName:null,fileName:null},["id","url","sizeName"]),n},l}(i.default);l.Attachment=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.type=n.type)}}();l.SecureNoteData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){this.match=null,null!=n&&(this.uri=n.uri,this.match=n.match)}}();l.LoginUriData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(531),u=function(){return function(n){var l=this;null!=n&&(this.username=n.username,this.password=n.password,this.totp=n.totp,n.uris&&(this.uris=[],n.uris.forEach(function(n){l.uris.push(new t.LoginUriData(n))})))}}();l.LoginData=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.title=n.title,this.firstName=n.firstName,this.middleName=n.middleName,this.lastName=n.lastName,this.address1=n.address1,this.address2=n.address2,this.address3=n.address3,this.city=n.city,this.state=n.state,this.postalCode=n.postalCode,this.country=n.country,this.company=n.company,this.email=n.email,this.phone=n.phone,this.ssn=n.ssn,this.username=n.username,this.passportNumber=n.passportNumber,this.licenseNumber=n.licenseNumber)}}();l.IdentityData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.type=n.type,this.name=n.name,this.value=n.value)}}();l.FieldData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.cardholderName=n.cardholderName,this.brand=n.brand,this.number=n.number,this.expMonth=n.expMonth,this.expYear=n.expYear,this.code=n.code)}}();l.CardData=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){null!=n&&(this.id=n.id,this.url=n.url,this.fileName=n.fileName,this.size=n.size,this.sizeName=n.sizeName)}}();l.AttachmentData=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});e(12),e(3),e(2),e(94),e(8);var o=function(n){function l(l,e,t,u,o){return n.call(this,l,e,t,u,o,window)||this}return u(l,n),l}(e(733).PasswordGeneratorHistoryComponent);l.PasswordGeneratorHistoryComponent=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n){n&&(this.id=n.id,this.url=n.url,this.size=n.size,this.sizeName=n.sizeName)}}();l.AttachmentView=t},,function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.key=n,this.value=l}}();l.KvpRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.Free=0]="Free",n[n.FamiliesAnnually=1]="FamiliesAnnually",n[n.TeamsMonthly=2]="TeamsMonthly",n[n.TeamsAnnually=3]="TeamsAnnually",n[n.EnterpriseMonthly=4]="EnterpriseMonthly",n[n.EnterpriseAnnually=5]="EnterpriseAnnually",n[n.Custom=6]="Custom"}(l.PlanType||(l.PlanType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(13),a=e(18),s=e(17),d=e(269),c=e(127),p=e(8),f=e(7),v=e(5),h=e(265),g=e(4),m=e(3),y=e(9),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"app-callout",[["icon","fa-info-circle"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{icon:[0,"icon"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,null,0,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(12,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(13,null,["\n ","\n "])),t.ɵppd(14,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"fa-info-circle",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent,0),"contactSupport")),""))},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"contactSupportPaymentMethod"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),"contactSupport"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"close")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,29,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(3,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(4,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,22,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"app-payment",[],null,null,null,d.View_PaymentComponent_0,d.RenderType_PaymentComponent)),t.ɵdid(13,245760,[[1,4]],0,c.PaymentComponent,[i.I18nService,p.PlatformUtilsService],{showOptions:[0,"showOptions"],hideBank:[1,"hideBank"],hidePaypal:[2,"hidePaypal"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,13,0,e.organizationId,!e.organizationId,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent,0),null!=e.currentType?"changePaymentMethod":"addPaymentMethod"))),n(l,15,0,t.ɵnov(l,0).loading),n(l,17,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"submit"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent,0),"cancel")))})}function w(n){return t.ɵvid(0,[t.ɵpid(0,f.I18nPipe,[i.I18nService]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,v.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.canChange),n(l,6,0,e.canChange)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-payment",[],null,null,null,w,C)),t.ɵdid(1,49152,null,0,h.AdjustPaymentComponent,[g.ApiService,i.I18nService,m.Angulartics2,y.ToasterService],null,null)],null,null)}l.RenderType_AdjustPaymentComponent=C,l.View_AdjustPaymentComponent_0=w,l.View_AdjustPaymentComponent_Host_0=R;var _=t.ɵccf("app-adjust-payment",h.AdjustPaymentComponent,R,{currentType:"currentType",organizationId:"organizationId"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustPaymentComponentNgFactory=_},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(5),r=e(13),a=e(18),s=e(17),d=e(266),c=e(4),p=e(3),f=e(9),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",":"])),t.ɵppd(4,1),(n()(),t.ɵted(5,null,[" "," GB × "," = "," /","\n "])),t.ɵppd(6,2),t.ɵppd(7,2),t.ɵppd(8,1)],null,function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"total"))),n(l,5,0,e.storageAdjustment||0,t.ɵunv(l,5,1,n(l,6,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,5,2,n(l,7,0,t.ɵnov(l.parent,1),e.adjustedStorageTotal,"$")),t.ɵunv(l,5,3,n(l,8,0,t.ɵnov(l.parent,0),e.interval)))})}function g(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵpid(0,i.CurrencyPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,[["form",1]],null,53,"form",[["class","card"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,3).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,3).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(3,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(5,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(6,540672,null,0,a.ApiActionDirective,[t.ElementRef,s.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,46,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","storageAdjustment"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["class","form-control"],["id","storageAdjustment"],["max","99"],["min","0"],["name","StroageGbAdjustment"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,24).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.storageAdjustment=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,r.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(25,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[r.DefaultValueAccessor,r.ɵbc]),t.ɵdid(28,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(30,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(35,16384,null,0,i.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(48,null,["\n ","\n "])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(51,0,null,null,2,"small",[["class","d-block text-muted mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(52,null,["\n ","\n "])),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,6,0,e.formPromise);n(l,25,0,"");n(l,28,0,"StroageGbAdjustment",e.storageAdjustment),n(l,35,0,e.add)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,5).ngClassUntouched,t.ɵnov(l,5).ngClassTouched,t.ɵnov(l,5).ngClassPristine,t.ɵnov(l,5).ngClassDirty,t.ɵnov(l,5).ngClassValid,t.ɵnov(l,5).ngClassInvalid,t.ɵnov(l,5).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),e.add?"addStorage":"removeStorage"))),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),e.add?"gbStorageAdd":"gbStorageRemove"))),n(l,22,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending),n(l,37,0,t.ɵnov(l,2).loading),n(l,39,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"loading")),"")),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"submit"))),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"cancel"))),n(l,52,0,t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),e.add?"storageAddNote":"storageRemoveNote")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,null,null,g,v)),t.ɵdid(1,49152,null,0,d.AdjustStorageComponent,[c.ApiService,o.I18nService,p.Angulartics2,f.ToasterService],null,null)],null,null)}l.RenderType_AdjustStorageComponent=v,l.View_AdjustStorageComponent_0=g,l.View_AdjustStorageComponent_Host_0=m;var y=t.ɵccf("app-adjust-storage",d.AdjustStorageComponent,m,{storageGbPrice:"storageGbPrice",add:"add",organizationId:"organizationId",interval:"interval"},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"},[]);l.AdjustStorageComponentNgFactory=y},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(17),s=e(267),d=e(4),c=e(3),p=e(9),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,32,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"label",[["class","sr-only"],["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,5,0,l.component.formPromise)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"licenseFile"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l,0),"licenseFileDesc",e.organizationId?"bitwarden_organization_license.json":"bitwarden_premium_license.json"))),n(l,20,0,t.ɵnov(l,1).loading),n(l,22,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"loading")),"")),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"submit"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"cancel")))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-update-license",[],null,null,null,v,f)),t.ɵdid(1,49152,null,0,s.UpdateLicenseComponent,[d.ApiService,o.I18nService,c.Angulartics2,p.ToasterService],null,null)],null,null)}l.RenderType_UpdateLicenseComponent=f,l.View_UpdateLicenseComponent_0=v,l.View_UpdateLicenseComponent_Host_0=h;var g=t.ɵccf("app-update-license",s.UpdateLicenseComponent,h,{organizationId:"organizationId"},{onUpdated:"onUpdated",onCanceled:"onCanceled"},[]);l.UpdateLicenseComponentNgFactory=g},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0?this.keys[0].key:null,e.key2=null!=this.keys&&this.keys.length>1?this.keys[1].key:null,e.key3=null!=this.keys&&this.keys.length>2?this.keys[2].key:null,e.key4=null!=this.keys&&this.keys.length>3?this.keys[3].key:null,e.key5=null!=this.keys&&this.keys.length>4?this.keys[4].key:null,e.nfc=this.nfc,n.prototype.enable.call(this,function(){return o(l,void 0,void 0,function(){var n;return i(this,function(l){switch(l.label){case 0:return this.formPromise=this.apiService.putTwoFactorYubiKey(e),[4,this.formPromise];case 1:return n=l.sent(),[4,this.processResponse(n)];case 2:return l.sent(),this.toasterService.popAsync("success",null,this.i18nService.t("yubikeysUpdated")),[2]}})})})},l.prototype.disable=function(){return n.prototype.disable.call(this,this.disablePromise)},l.prototype.remove=function(n){n.existingKey=null,n.key=null},l.prototype.processResponse=function(n){this.enabled=n.enabled,this.keys=[{key:n.key1,existingKey:this.padRight(n.key1)},{key:n.key2,existingKey:this.padRight(n.key2)},{key:n.key3,existingKey:this.padRight(n.key3)},{key:n.key4,existingKey:this.padRight(n.key4)},{key:n.key5,existingKey:this.padRight(n.key5)}],this.nfc=n.nfc||!n.enabled},l.prototype.padRight=function(n,l,e){if(void 0===l&&(l="•"),void 0===e&&(e=44),null==n||null==l||n.length>=e)return n;for(var t=(e-n.length)/l.length,u=0;u0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]

'+this.i18nService.t("twoFactorRecoveryYourCode")+":

"+this.code+'

'+new Date+"

"),n.print(),n.close()},n.prototype.formatString=function(n){return null==n?null:n.replace(/(.{4})/g,"$1 ").trim().toUpperCase()},n.prototype.processResponse=function(n){this.code=this.formatString(n.code)},n}();l.TwoFactorRecoveryComponent=u},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n,l,e,o,i,r,a,s=this;return u(this,function(d){switch(d.label){case 0:return[4,this.cipherService.get(this.cipherId)];case 1:return[4,d.sent().decrypt()];case 2:if(n=d.sent(),l=[],null!=n.attachments)for(e=0,o=n.attachments;e0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},n.prototype.ngOnDestroy=function(){this.selectAll(!1)},n.prototype.filterCollections=function(){var n=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(l){return l.organizationId===n.organizationId})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return n=this.collections.filter(function(n){return n.checked}).map(function(n){return n.id}),this.formPromise=this.cipherService.shareManyWithServer(this.shareableCiphers,this.organizationId,n),[4,this.formPromise];case 1:return l.sent(),this.onShared.emit(),this.analytics.eventTrack.next({action:"Bulk Shared Items"}),this.toasterService.popAsync("success",null,this.i18nService.t("sharedItems")),[2]}})})},n.prototype.check=function(n,l){n.checked=null==l?!n.checked:l},n.prototype.selectAll=function(n){var l=this;(n?this.collections:this.writeableCollections).forEach(function(e){return l.check(e,n)})},n}());l.BulkShareComponent=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1||!e.onlySearchName&&(!!(l.length>=8&&n.id.startsWith(l))||(null!=n.subTitle&&n.subTitle.toLowerCase().indexOf(l)>-1||!!(n.login&&null!=n.login.uri&&n.login.uri.toLowerCase().indexOf(l)>-1)))}))},n}();l.SearchCiphersPipe=u},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(807),o=e(5),i=e(281),r=e(131),a=e(61),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"img",[["alt",""]],[[8,"src",4]],[[null,"error"]],function(n,l,e){var u=!0;"error"===l&&(u=!1!==t.ɵnov(n,1).onError()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.FallbackSrcDirective,[t.ElementRef],{appFallbackSrc:[0,"appFallbackSrc"]},null)],function(n,l){var e=l.component;n(l,1,0,t.ɵinlineInterpolate(1,"",e.fallbackImage,""))},function(n,l){n(l,0,0,l.component.image)})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[],[[8,"className",0]],null,null,null,null))],null,function(n,l){var e=l.component;n(l,0,0,t.ɵinlineInterpolate(1,"fa fa-fw fa-lg ",e.icon,""))})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","icon"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,d)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.imageEnabled&&e.image),n(l,6,0,!e.imageEnabled||!e.image)},null)}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-icon",[],null,null,null,p,s)),t.ɵdid(1,573440,null,0,i.IconComponent,[r.EnvironmentService,a.StateService],null,null)],null,null)}l.RenderType_IconComponent=s,l.View_IconComponent_0=p,l.View_IconComponent_Host_0=f;var v=t.ɵccf("app-vault-icon",i.IconComponent,f,{cipher:"cipher"},{},[]);l.IconComponentNgFactory=v},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&n.data.forEach(function(n){var t=new a.Collection(new d.CollectionData(n));l.push(t.decrypt().then(function(n){e.push(n)}))}),Promise.all(l)})),c.push(this.apiService.getCiphersOrganization(n).then(function(n){var l=[];return null!=n&&null!=n.data&&n.data.length>0&&n.data.forEach(function(n){var e=new r.Cipher(new s.CipherData(n));l.push(e.decrypt().then(function(n){t.push(n)}))}),Promise.all(l)})),[4,Promise.all(c)];case 1:return u.sent(),p=new Map,e.forEach(function(n){p.set(n.id,n)}),f=[],t.forEach(function(n){if(n.type===i.CipherType.Login||n.type===i.CipherType.SecureNote){var l={collections:[]};null!=n.collectionIds&&(l.collections=n.collectionIds.filter(function(n){return p.has(n)}).map(function(n){return p.get(n).name})),v.buildCommonCipher(l,n),f.push(l)}}),"csv"===l?[2,o.unparse(f)]:[2,JSON.stringify(f,null," ")]}})})},n.prototype.getFileName=function(n){void 0===n&&(n=null);var l=new Date,e=l.getFullYear()+""+this.padNumber(l.getMonth()+1,2)+this.padNumber(l.getDate(),2)+this.padNumber(l.getHours(),2)+this.padNumber(l.getMinutes(),2)+this.padNumber(l.getSeconds(),2);return"bitwarden"+(n?"_"+n:"")+"_export_"+e+".csv"},n.prototype.padNumber=function(n,l,e){void 0===e&&(e="0");var t=n.toString();return t.length>=l?t:new Array(l-t.length+1).join(e)+t},n.prototype.buildCommonCipher=function(n,l){switch(n.type=null,n.name=l.name,n.notes=l.notes,n.fields=null,n.login_uri=null,n.login_username=null,n.login_password=null,n.login_totp=null,l.fields&&l.fields.forEach(function(l){n.fields?n.fields+="\n":n.fields="",n.fields+=(l.name||"")+": "+l.value}),l.type){case i.CipherType.Login:n.type="login",n.login_username=l.login.username,n.login_password=l.login.password,n.login_totp=l.login.totp,l.login.uris&&(n.login_uri=[],l.login.uris.forEach(function(l){n.login_uri.push(l.uri)}));break;case i.CipherType.SecureNote:n.type="note";break;default:return}return n},n}();l.ExportService=c},function(n,l,e){"use strict";var t,u=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},o=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&(n=n.substring(0,l)),0!==n.indexOf("!/")&&0!==n.indexOf("#/")||(n=n.substring(1));var e=[];return n.split("/").forEach(function(n){n.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?e.push("__guid__"):e.push(n)}),encodeURIComponent(e.join("/"))},n}();l.Analytics=s},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]=0?this.browserCache=i.DeviceType.OperaBrowser:-1!==navigator.userAgent.indexOf(" Edge/")?this.browserCache=i.DeviceType.EdgeBrowser:-1!==navigator.userAgent.indexOf(" Vivaldi/")?this.browserCache=i.DeviceType.VivaldiBrowser:-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")?this.browserCache=i.DeviceType.SafariBrowser:window.chrome&&-1!==navigator.userAgent.indexOf(" Chrome/")?this.browserCache=i.DeviceType.ChromeBrowser:-1!==navigator.userAgent.indexOf(" Trident/")?this.browserCache=i.DeviceType.IEBrowser:this.browserCache=i.DeviceType.UnknownBrowser,this.browserCache)},n.prototype.getDeviceString=function(){return i.DeviceType[this.getDevice()].toLowerCase().replace("browser","")},n.prototype.isFirefox=function(){return this.getDevice()===i.DeviceType.FirefoxBrowser},n.prototype.isChrome=function(){return this.getDevice()===i.DeviceType.ChromeBrowser},n.prototype.isEdge=function(){return this.getDevice()===i.DeviceType.EdgeBrowser},n.prototype.isOpera=function(){return this.getDevice()===i.DeviceType.OperaBrowser},n.prototype.isVivaldi=function(){return this.getDevice()===i.DeviceType.VivaldiBrowser},n.prototype.isSafari=function(){return this.getDevice()===i.DeviceType.SafariBrowser},n.prototype.isIE=function(){return this.getDevice()===i.DeviceType.IEBrowser},n.prototype.isMacAppStore=function(){return!1},n.prototype.analyticsId=function(){return"UA-81915606-3"},n.prototype.getDomain=function(n){return r.Utils.getHostname(n)},n.prototype.isViewOpen=function(){return!1},n.prototype.lockTimeout=function(){return 15},n.prototype.launchUri=function(n,l){var e=document.createElement("a");e.href=n,e.target="_blank",e.rel="noreferrer noopener",e.click()},n.prototype.saveFile=function(n,l,e,t){var u=null;if(u=null==e||this.isIE()?new Blob([l]):new Blob([l],e),navigator.msSaveOrOpenBlob)navigator.msSaveBlob(u,t);else{var o=n.document.createElement("a");o.href=n.URL.createObjectURL(u),o.download=t,o.style.position="fixed",n.document.body.appendChild(o),o.click(),n.document.body.removeChild(o)}},n.prototype.getApplicationVersion=function(){return"2.0.0"},n.prototype.supportsU2f=function(n){return null!=n&&null!=n.u2f||(this.isChrome()||this.isOpera())&&!this.isMobile(n)},n.prototype.supportsDuo=function(){return!0},n.prototype.showToast=function(n,l,e,t){throw new Error("showToast not implemented")},n.prototype.showDialog=function(n,l,e,o,i){return t(this,void 0,void 0,function(){var t,r,s,d,c;return u(this,function(u){switch(u.label){case 0:if(t=[null==e?this.i18nService.t("ok"):e],null!=o&&t.unshift(o),r=document.createElement("div"),null!=i){switch((s=document.createElement("i")).classList.add("swal-custom-icon"),i){case"success":s.classList.add("fa","fa-check","text-success");break;case"warning":s.classList.add("fa","fa-warning","text-warning");break;case"error":s.classList.add("fa","fa-bolt","text-danger");break;case"info":s.classList.add("fa","fa-info-circle","text-info")}s.classList.contains("fa")&&r.appendChild(s)}return null!=l&&((d=document.createElement("div")).classList.add("swal-title"),d.appendChild(document.createTextNode(l)),r.appendChild(d)),null!=n&&((c=document.createElement("div")).classList.add("swal-text"),c.appendChild(document.createTextNode(n)),r.appendChild(c)),[4,a({content:{element:r},buttons:t})];case 1:return[2,u.sent()]}})})},n.prototype.isDev=function(){return!1},n.prototype.isSelfHost=function(){return"true"===(!1).toString()},n.prototype.copyToClipboard=function(n,l){var e=l?l.doc:window.document;if(window.clipboardData&&window.clipboardData.setData)window.clipboardData.setData("Text",n);else if(e.queryCommandSupported&&e.queryCommandSupported("copy")){var t=e.createElement("textarea");t.textContent=n,t.style.position="fixed",e.body.appendChild(t),t.select();try{e.execCommand("copy")}catch(n){console.warn("Copy to clipboard failed.",n)}finally{e.body.removeChild(t)}}},n.prototype.isMobile=function(n){var l,e=!1;return l=n.navigator.userAgent||n.navigator.vendor||n.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(l)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(l.substr(0,4)))&&(e=!0),e||null!=n.navigator.userAgent.match(/iPad/i)},n}();l.WebPlatformUtilsService=s},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){function n(){this.store=new Map}return n.prototype.get=function(n){if(this.store.has(n)){var l=this.store.get(n);return Promise.resolve(l)}return Promise.resolve(null)},n.prototype.save=function(n,l){return null==l?this.remove(n):(this.store.set(n,l),Promise.resolve())},n.prototype.remove=function(n){return this.store.delete(n),Promise.resolve()},n}();l.MemoryStorageService=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)}),o=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},i=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]1?"×"+l.context.$implicit.quantity:"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval)))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(11,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details")))})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,20,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,14,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(19,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,14,0,e.subscription),n(l,19,0,e.subscription)},function(n,l){var e=l.component;n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"billingPlan"))),n(l,11,0,e.billing.plan)})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},d.View_UpdateLicenseComponent_0,d.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,c.UpdateLicenseComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{organizationId:[0,"organizationId"]},{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.organizationId)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense")))})}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription")))})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["licenseBtn",1]],null,9,"button",[["class","btn btn-outline-secondary btn-submit ml-1"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.licensePromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense")))})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription")))})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustSeats(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addSeats"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeSeats")))})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-seats",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeSeats(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeSeats(!1)&&t);return t},h.View_AdjustSeatsComponent_0,h.RenderType_AdjustSeatsComponent)),t.ɵdid(1,49152,null,0,g.AdjustSeatsComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{seatPrice:[0,"seatPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.seatPrice,e.adjustSeatsAdd,e.organizationId,e.billingInterval)},null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustSeats),n(l,8,0,e.showAdjustSeats)},null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","btn btn-outline-secondary ml-1"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage")))})}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},m.View_AdjustStorageComponent_0,m.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,y.AdjustStorageComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"],organizationId:[2,"organizationId"],interval:[3,"interval"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){var e=l.component;n(l,1,0,e.storageGbPrice,e.adjustStorageAdd,e.organizationId,e.billingInterval)},null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noPaymentMethod")))})}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,3,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,[""," ",""])),t.ɵppd(6,1),t.ɵppd(7,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(9,0,[["verifyForm",1]],0,61,"form",[["class","form-inline"],["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,10).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,10).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.verifyBank()&&u);return u},null,null)),t.ɵdid(10,4210688,null,0,C.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,C.ControlContainer,null,[C.NgForm]),t.ɵdid(12,16384,null,0,C.NgControlStatusGroup,[C.ControlContainer],null,null),t.ɵdid(13,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount1"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount1"],["max","99"],["min","1"],["name","Amount1"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,28)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,28).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,28)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,28)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,29).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.verifyAmount1=e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,C.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,C.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(29,16384,null,0,C.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(30,16384,null,0,C.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,C.NG_VALIDATORS,function(n){return[n]},[C.RequiredValidator]),t.ɵprd(1024,null,C.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[C.DefaultValueAccessor,C.ɵbc]),t.ɵdid(33,671744,null,0,C.NgModel,[[2,C.ControlContainer],[2,C.NG_VALIDATORS],[8,null],[2,C.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,C.NgControl,null,[C.NgModel]),t.ɵdid(35,16384,null,0,C.NgControlStatus,[C.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"label",[["class","sr-only"],["for","verifyAmount2"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,17,"div",[["class","input-group mr-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,4,"div",[["class","input-group-prepend"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,1,"div",[["class","input-group-text"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["$0."])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,8,"input",[["class","form-control"],["id","verifyAmount2"],["max","99"],["min","1"],["name","Amount2"],["placeholder","xx"],["required",""],["step","1"],["type","number"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,51)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,51).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,51)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,51)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,52).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,52).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.verifyAmount2=e)&&u);return u},null,null)),t.ɵdid(51,16384,null,0,C.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,C.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(52,16384,null,0,C.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(53,16384,null,0,C.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,C.NG_VALIDATORS,function(n){return[n]},[C.RequiredValidator]),t.ɵprd(1024,null,C.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[C.DefaultValueAccessor,C.ɵbc]),t.ɵdid(56,671744,null,0,C.NgModel,[[2,C.ControlContainer],[2,C.NG_VALIDATORS],[8,null],[2,C.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,C.NgControl,null,[C.NgModel]),t.ɵdid(58,16384,null,0,C.NgControlStatus,[C.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,8,"button",[["class","btn btn-outline-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(67,null,["",""])),t.ɵppd(68,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccount")),"")),n(l,13,0,e.verifyBankPromise);n(l,30,0,"");n(l,33,0,"Amount1",e.verifyAmount1);n(l,53,0,"");n(l,56,0,"Amount2",e.verifyAmount2)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccountDesc")),t.ɵunv(l,5,1,n(l,7,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccountFailureWarning"))),n(l,9,0,t.ɵnov(l,12).ngClassUntouched,t.ɵnov(l,12).ngClassTouched,t.ɵnov(l,12).ngClassPristine,t.ɵnov(l,12).ngClassDirty,t.ɵnov(l,12).ngClassValid,t.ɵnov(l,12).ngClassInvalid,t.ɵnov(l,12).ngClassPending),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent.parent,0),"amount","1"))),n(l,27,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent.parent,0),"amount","2"))),n(l,50,0,t.ɵnov(l,53).required?"":null,t.ɵnov(l,58).ngClassUntouched,t.ɵnov(l,58).ngClassTouched,t.ɵnov(l,58).ngClassPristine,t.ɵnov(l,58).ngClassDirty,t.ɵnov(l,58).ngClassValid,t.ɵnov(l,58).ngClassInvalid,t.ɵnov(l,58).ngClassPending),n(l,61,0,t.ɵnov(l,9).loading),n(l,63,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent.parent,0),"loading")),"")),n(l,67,0,t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l.parent.parent.parent.parent,0),"verifyBankAccount")))})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,X)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(8,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(9,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.paymentSource.type===e.paymentMethodType.BankAccount&&e.paymentSource.needsVerification);n(l,8,0,"fa fa-fw",n(l,9,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal))},function(n,l){n(l,10,0,l.component.paymentSource.description)})}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod")))})}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},b.View_AdjustPaymentComponent_0,b.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,S.AdjustPaymentComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{currentType:[0,"currentType"],organizationId:[1,"organizationId"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null,e.organizationId)},null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCharges")))})}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,28,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.viewInvoice(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,w.StopClickDirective,[],null,null),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-file-pdf-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,1,"td",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(23,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(24,{"text-strike":0}),t.ɵppd(25,1),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,23,0,n(l,24,0,l.context.$implicit.refunded))},function(n,l){n(l,4,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,4,0,n(l,6,0,t.ɵnov(l.parent.parent.parent.parent,0),"invoice")),"")),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.createdDate,"mediumDate"))),n(l,17,0,l.context.$implicit.paymentSource?l.context.$implicit.paymentSource.description:"-"),n(l,20,0,l.context.$implicit.status),n(l,22,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,22,0,n(l,25,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"")),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$")))})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(5,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.charges)},null)}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,75,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePlan()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(24,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(37,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(38,{width:0}),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(44,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(51,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Q)),t.ɵdid(54,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,nn)),t.ɵdid(57,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,ln)),t.ɵdid(60,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(67,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,un)),t.ɵdid(70,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["* ",""])),t.ɵppd(74,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,e.canDownloadLicense),n(l,12,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,24,0,e.subscription&&e.canAdjustSeats),n(l,37,0,n(l,38,0,e.storageProgressWidth+"%")),n(l,44,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel&&e.paymentSource),n(l,51,0,!e.paymentSource),n(l,54,0,e.paymentSource),n(l,57,0,!e.showAdjustPayment),n(l,60,0,e.showAdjustPayment),n(l,67,0,!e.charges||!e.charges.length),n(l,70,0,e.charges&&e.charges.length)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"changeBillingPlan"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"userSeats"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"subscriptionUserSeats",e.billing.seats))),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent.parent,0),"storage"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.billing.maxStorageGb||0,e.billing.storageName||"0 MB"))),n(l,36,0,e.storagePercentage),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100))),n(l,47,0,t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent,0),"paymentMethod"))),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent,0),"charges"))),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent.parent,0),"chargesStatement","BITWARDEN")))})}function rn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,19,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(9,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(15,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,on)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,9,0,e.selfHosted),n(l,12,0,!e.selfHosted),n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},null)}function an(n){return t.ɵvid(0,[t.ɵpid(0,R.I18nPipe,[i.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,rn)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.billing)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"billingAndLicensing")))})}function sn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-billing",[],null,null,null,an,O)),t.ɵdid(1,114688,null,0,_.OrganizationBillingComponent,[I.TokenService,p.ApiService,A.PlatformUtilsService,i.I18nService,f.Angulartics2,v.ToasterService,E.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationBillingComponent=O,l.View_OrganizationBillingComponent_0=an,l.View_OrganizationBillingComponent_Host_0=sn;var dn=t.ɵccf("app-org-billing",_.OrganizationBillingComponent,sn,{},{},[]);l.OrganizationBillingComponentNgFactory=dn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(60),a=e(5),s=e(7),d=e(239),c=e(4),p=e(35),f=e(27),v=e(10),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc")))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"))),n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),""))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){n(l,2,0,t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled),n(l,15,0,!e.premium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.premium&&l.context.$implicit.premium),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function N(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(35,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,O)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId),n(l,24,0,n(l,25,0,!e.organizationId)),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,N,h)),t.ɵdid(1,114688,null,0,d.TwoFactorSetupComponent,[c.ApiService,p.TokenService,t.ComponentFactoryResolver,f.MessagingService,v.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=h,l.View_TwoFactorSetupComponent_0=N,l.View_TwoFactorSetupComponent_Host_0=T;var k=t.ɵccf("app-two-factor-setup",d.TwoFactorSetupComponent,T,{},{},[]);l.TwoFactorSetupComponentNgFactory=k},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(130),a=e(116),s=e(42),d=e(7),c=e(2),p=e(5),f=e(240),v=e(4),h=e(3),g=e(9),m=e(10),y=e(66),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.billingEmail=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.org.businessName=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["height","75"],["width","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],fontSize:[3,"fontSize"],dynamic:[4,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.org.name);n(l,33,0,"BillingEmail",e.org.billingEmail);n(l,47,0,"BusinessName",e.org.businessName);n(l,56,0,t.ɵinlineInterpolate(1,"",e.org.name,""),"75","75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"organizationName"))),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"billingEmail"))),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"businessName"))),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading),n(l,62,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,"div",[["class","mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,1,"div",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){var e=l.component;n(l,3,0,e.org.businessAddress1),n(l,6,0,e.org.businessAddress2),n(l,9,0,e.org.businessAddress3),n(l,12,0,e.org.businessCountry),n(l,15,0,e.org.businessTaxNumber)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[c.I18nService]),t.ɵqud(402653184,1,{deleteModalRef:0}),(n()(),t.ɵeld(2,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(10,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(13,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(15,0,null,null,5,"div",[["class","secondary-header border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(23,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(25,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(29,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://bitwarden.com/contact/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n"])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(33,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(40,0,null,null,12,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,9,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(45,null,["",""])),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteOrganization()&&t);return t},null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deleteOrganizationTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,10,0,e.loading),n(l,13,0,e.org&&!e.loading),n(l,23,0,e.org&&(e.org.businessAddress1||e.org.businessTaxNumber))},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"myOrganization"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"taxInformation"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"taxInformationDesc"))),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"contactSupport"))),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"dangerZone"))),n(l,45,0,t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"dangerZoneDesc"))),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"deleteOrganization")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-account",[],null,null,null,_,C)),t.ɵdid(1,114688,null,0,f.AccountComponent,[t.ComponentFactoryResolver,v.ApiService,c.I18nService,h.Angulartics2,g.ToasterService,m.ActivatedRoute,y.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_AccountComponent=C,l.View_AccountComponent_0=_,l.View_AccountComponent_Host_0=I;var A=t.ɵccf("app-org-account",f.AccountComponent,I,{},{},[]);l.AccountComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(241),s=e(21),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"two-factor");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"twoStepLogin")))})}function p(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,42,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,39,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,30,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,27,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,20,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(32,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(40,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"billing");n(l,25,0,"active"),n(l,32,0,e.access2fa),n(l,40,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myOrganization"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"billingAndLicensing")))})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-settings",[],null,null,null,p,d)),t.ɵdid(1,114688,null,0,a.SettingsComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=d,l.View_SettingsComponent_0=p,l.View_SettingsComponent_Host_0=f;var v=t.ɵccf("app-org-settings",a.SettingsComponent,f,{},{},[]);l.SettingsComponentNgFactory=v},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.groupIds=[]}}();l.OrganizationUserUpdateGroupsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.OrganizationUserUpdateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.emails=[],this.collections=[]}}();l.OrganizationUserInviteRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationUserConfirmRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(60),o=e(130),i=e(116),r=e(42),a=e(5),s=e(7),d=e(2),c=e(249),p=e(13),f=e(242),v=e(4),h=e(10),g=e(8),m=e(3),y=e(9),C=e(20),b=e(21),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-info"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.invitedCount)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[["class","badge badge-pill badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.component.acceptedCount)})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noUsersInList")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-secondary"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"invited")))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"accepted")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"small",[["class","text-muted d-block"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.parent.context.$implicit.name)})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"owner")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"admin")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"user")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.reinvite(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-envelope-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"resendInvitation")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-success"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.confirm(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-check"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"confirm")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.groups(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-sitemap"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"groups")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,0),"eventLogs")))})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,68,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"td",[["width","30"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,1,"app-avatar",[["height","25"],["width","25"]],null,null,null,o.View_AvatarComponent_0,o.RenderType_AvatarComponent)),t.ɵdid(5,638976,null,0,i.AvatarComponent,[r.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],fontSize:[3,"fontSize"],circle:[4,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,14,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,11).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(11,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,10,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(27,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(30,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(33,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,31,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,28,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,20,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(48,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(51,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(54,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(57,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,60).onClick(e)&&u);"click"===l&&(u=!1!==o.remove(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(60,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,0,"i",[["class","fa fa-fw fa-remove"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["\n ","\n "])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,l.context.$implicit.name||l.context.$implicit.email,"25","25",14,!0),n(l,15,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,18,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,21,0,l.context.$implicit.name),n(l,27,0,l.context.$implicit.type===e.organizationUserType.Owner),n(l,30,0,l.context.$implicit.type===e.organizationUserType.Admin),n(l,33,0,l.context.$implicit.type===e.organizationUserType.User),n(l,48,0,l.context.$implicit.status===e.organizationUserStatusType.Invited),n(l,51,0,l.context.$implicit.status===e.organizationUserStatusType.Accepted),n(l,54,0,e.accessGroups),n(l,57,0,e.accessEvents&&l.context.$implicit.status===e.organizationUserStatusType.Confirmed)},function(n,l){n(l,12,0,l.context.$implicit.email),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent.parent.parent,0),"remove")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(5,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(3,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(6,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function z(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[d.I18nService]),t.ɵpid(0,c.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{groupsModalRef:0}),t.ɵqud(402653184,3,{eventsModalRef:0}),(n()(),t.ɵeld(5,0,null,null,56,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,49,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,25,"div",[["class","btn-group btn-group-sm"],["role","group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(null)&&t);return t},null,null)),t.ɵdid(16,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(17,{active:0}),(n()(),t.ɵted(18,null,["\n ","\n "])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Invited)&&t);return t},null,null)),t.ɵdid(22,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(23,{active:0}),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(27,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,7,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.filter(u.organizationUserStatusType.Accepted)&&t);return t},null,null)),t.ɵdid(31,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(32,{active:0}),(n()(),t.ɵted(33,null,["\n ","\n "])),t.ɵppd(34,1),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(36,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,13,"div",[["class","ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,47)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,47).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,47)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,47)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,p.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,p.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,p.NG_VALUE_ACCESSOR,function(n){return[n]},[p.DefaultValueAccessor]),t.ɵdid(49,671744,null,0,p.NgModel,[[8,null],[8,null],[8,null],[2,p.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,p.NgControl,null,[p.NgModel]),t.ɵdid(51,16384,null,0,p.NgControlStatus,[p.NgControl],null,null),t.ɵppd(52,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.invite()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(64,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,F)),t.ɵdid(67,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(68,5),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,L)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["groupsTemplate",2]],null,0,null,G)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["eventsTemplate",2]],null,0,null,q)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"btn btn-outline-secondary",n(l,17,0,null==e.status));n(l,22,0,"btn btn-outline-secondary",n(l,23,0,e.status==e.organizationUserStatusType.Invited)),n(l,27,0,e.invitedCount);n(l,31,0,"btn btn-outline-secondary",n(l,32,0,e.status==e.organizationUserStatusType.Accepted)),n(l,36,0,e.acceptedCount),n(l,49,0,e.searchText),n(l,64,0,e.loading),n(l,67,0,!e.loading&&t.ɵunv(l,67,0,n(l,68,0,t.ɵnov(l,1),e.users,e.searchText,"name","email","id")))},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l,0),"people"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l,0),"all"))),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l,0),"invited"))),n(l,33,0,t.ɵunv(l,33,0,n(l,34,0,t.ɵnov(l,0),"accepted"))),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l,0),"search"))),n(l,46,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,46,0,n(l,52,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,51).ngClassUntouched,t.ɵnov(l,51).ngClassTouched,t.ɵnov(l,51).ngClassPristine,t.ɵnov(l,51).ngClassDirty,t.ɵnov(l,51).ngClassValid,t.ɵnov(l,51).ngClassInvalid,t.ɵnov(l,51).ngClassPending),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"inviteUser")))})}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-people",[],null,null,null,z,S)),t.ɵdid(1,114688,null,0,f.PeopleComponent,[v.ApiService,h.ActivatedRoute,d.I18nService,t.ComponentFactoryResolver,g.PlatformUtilsService,m.Angulartics2,y.ToasterService,C.CryptoService,b.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PeopleComponent=S,l.View_PeopleComponent_0=z,l.View_PeopleComponent_Host_0=j;var B=t.ɵccf("app-org-people",f.PeopleComponent,j,{},{},[]);l.PeopleComponentNgFactory=B},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.collections=[]}}();l.GroupRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(60),o=e(5),i=e(7),r=e(2),a=e(249),s=e(13),d=e(243),c=e(4),p=e(10),f=e(3),v=e(9),h=e(8),g=e(21),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noGroupsInList")))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==o.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,w)),t.ɵdid(39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading),n(l,39,0,!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.groups,e.searchText,"name","id")))},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"groups"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newGroup")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-groups",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.GroupsComponent,[c.ApiService,p.ActivatedRoute,r.I18nService,t.ComponentFactoryResolver,f.Angulartics2,v.ToasterService,h.PlatformUtilsService,g.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_GroupsComponent=m,l.View_GroupsComponent_0=I,l.View_GroupsComponent_Host_0=A;var E=t.ɵccf("app-org-groups",d.GroupsComponent,A,{},{},[]);l.GroupsComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(18),i=e(17),r=e(7),a=e(2),s=e(13),d=e(244),c=e(4),p=e(10),f=e(175),v=e(9),h=e(21),g=t.ɵcrt({encapsulation:2,styles:[],data:{}});function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noEventsInList")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[],[[8,"className",0],[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,4,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,1,"span",[],[[8,"title",0]],null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,0,"td",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),l.context.$implicit.date,"medium"))),n(l,8,0,t.ɵinlineInterpolate(1,"text-muted fa fa-lg ",l.context.$implicit.appIcon,""),t.ɵinlineInterpolate(2,"",l.context.$implicit.appName,", ",l.context.$implicit.ip,"")),n(l,13,0,t.ɵinlineInterpolate(1,"",l.context.$implicit.userEmail,"")),n(l,14,0,l.context.$implicit.userName),n(l,17,0,l.context.$implicit.message)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"table",[["class","table table-hover"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,23,"thead",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,20,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"th",[["class","border-top-0"],["width","210"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,5,"th",[["class","border-top-0"],["width","40"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"span",[["class","sr-only"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"th",[["class","border-top-0"],["width","150"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"th",[["class","border-top-0"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(30,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,30,0,l.component.events)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"timestamp"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent.parent,0),"device"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"user"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"event")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["moreBtn",1]],null,9,"button",[["class","btn btn-block btn-link btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!1)&&t);return t},null,null)),t.ɵdid(1,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.morePromise)},function(n,l){n(l,0,0,l.component.loaded&&t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"loadMore")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(9,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,!e.events||!e.events.length),n(l,6,0,e.events&&e.events.length),n(l,9,0,e.continuationToken)},null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[a.I18nService]),t.ɵpid(0,u.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(2,0,null,null,47,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,40,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,28,"div",[["class","form-inline"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["class","sr-only"],["for","start"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","start"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.start=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(21,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,1,"span",[["class","mx-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["-"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["class","sr-only"],["for","end"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","end"],["placeholder","YYYY-MM-DDTHH:MM"],["type","datetime-local"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.end=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(34,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(36,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,[["refreshBtn",1]],null,7,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.loadEvents(!0)&&t);return t},null,null)),t.ɵdid(41,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"i",[["class","fa fa-refresh fa-fw"]],null,null,null,null,null)),t.ɵdid(44,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(45,{"fa-spin":0}),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(52,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(55,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,19,0,e.start),n(l,34,0,e.end),n(l,41,0,e.refreshPromise);n(l,44,0,"fa fa-refresh fa-fw",n(l,45,0,e.loaded&&t.ɵnov(l,40).loading)),n(l,52,0,!e.loaded),n(l,55,0,e.loaded)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"eventLogs"))),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l,0),"startDate"))),n(l,16,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,16,0,n(l,22,0,t.ɵnov(l,0),"startDate")),""),t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"endDate"))),n(l,31,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,31,0,n(l,37,0,t.ɵnov(l,0),"endDate")),""),t.ɵnov(l,36).ngClassUntouched,t.ɵnov(l,36).ngClassTouched,t.ɵnov(l,36).ngClassPristine,t.ɵnov(l,36).ngClassDirty,t.ɵnov(l,36).ngClassValid,t.ɵnov(l,36).ngClassInvalid,t.ɵnov(l,36).ngClassPending),n(l,40,0,e.loaded&&t.ɵnov(l,40).loading),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"refresh")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-events",[],null,null,null,R,g)),t.ɵdid(1,114688,null,0,d.EventsComponent,[c.ApiService,p.ActivatedRoute,f.EventService,a.I18nService,v.ToasterService,h.UserService,p.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_EventsComponent=g,l.View_EventsComponent_0=R,l.View_EventsComponent_Host_0=_;var I=t.ɵccf("app-org-events",d.EventsComponent,_,{},{},[]);l.EventsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(60),o=e(5),i=e(7),r=e(2),a=e(249),s=e(13),d=e(248),c=e(4),p=e(10),f=e(44),v=e(3),h=e(9),g=e(8),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,0,"i",[["class","fa fa-spinner fa-spin text-muted"]],null,null,null,null,null))],null,null)}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"noCollectionsInList")))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,36,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"td",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.edit(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(6,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,26,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,23,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,15,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,21).onClick(e)&&u);"click"===l&&(u=!1!==o.users(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-fw fa-users"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,u.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["\n ","\n "])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,6,0,l.context.$implicit.name),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent.parent.parent,0),"delete")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,!l.context.ngIf.length),n(l,6,0,l.context.ngIf.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),t.ɵpid(0,a.SearchPipe,[]),t.ɵqud(402653184,1,{addEditModalRef:0}),t.ɵqud(402653184,2,{usersModalRef:0}),(n()(),t.ɵeld(4,0,null,null,29,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","ml-auto d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,13,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["class","sr-only"],["for","search"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,6,"input",[["class","form-control form-control-sm"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(21,671744,null,0,s.NgModel,[[8,null],[8,null],[8,null],[2,s.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(23,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,4,"button",[["class","btn btn-sm btn-outline-primary ml-3"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["\n ","\n "])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(36,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,2,null,w)),t.ɵdid(39,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(40,4),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["addEdit",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["usersTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,21,0,e.searchText),n(l,36,0,e.loading),n(l,39,0,!e.loading&&t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,1),e.collections,e.searchText,"name","id")))},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"collections"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"search"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,24,0,t.ɵnov(l,0),"search")),""),t.ɵnov(l,23).ngClassUntouched,t.ɵnov(l,23).ngClassTouched,t.ɵnov(l,23).ngClassPristine,t.ɵnov(l,23).ngClassDirty,t.ɵnov(l,23).ngClassValid,t.ɵnov(l,23).ngClassInvalid,t.ɵnov(l,23).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"newCollection")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage-collections",[],null,null,null,I,m)),t.ɵdid(1,114688,null,0,d.CollectionsComponent,[c.ApiService,p.ActivatedRoute,f.CollectionService,t.ComponentFactoryResolver,v.Angulartics2,h.ToasterService,r.I18nService,g.PlatformUtilsService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CollectionsComponent=m,l.View_CollectionsComponent_0=I,l.View_CollectionsComponent_Host_0=A;var E=t.ɵccf("app-org-manage-collections",d.CollectionsComponent,A,{},{},[]);l.CollectionsComponentNgFactory=E},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(250),s=e(21),d=t.ɵcrt({encapsulation:2,styles:[],data:{}});function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","groups"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"groups");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"groups")))})}function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","events"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"events");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"eventLogs")))})}function f(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,45,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,42,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,33,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,30,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,23,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","people"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","collections"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,c)),t.ɵdid(32,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(35,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(43,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"people");n(l,17,0,"active");n(l,24,0,"collections");n(l,25,0,"active"),n(l,32,0,e.accessGroups),n(l,35,0,e.accessEvents),n(l,43,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"manage"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"people"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"collections")))})}function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-manage",[],null,null,null,f,d)),t.ɵdid(1,114688,null,0,a.ManageComponent,[u.ActivatedRoute,s.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ManageComponent=d,l.View_ManageComponent_0=f,l.View_ManageComponent_Host_0=v;var h=t.ɵccf("app-org-manage",a.ManageComponent,v,{},{},[]);l.ManageComponentNgFactory=h},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(18),a=e(17),s=e(40),d=e(37),c=e(46),p=e(251),f=e(3),v=e(9),h=e(20),g=e(21),m=e(8),y=e(176),C=e(10),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,51,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,i.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,i.ControlContainer,null,[i.NgForm]),t.ɵdid(4,16384,null,0,i.NgControlStatusGroup,[i.ControlContainer],null,null),t.ɵdid(5,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,s.View_CalloutComponent_0,s.RenderType_CalloutComponent)),t.ɵdid(19,114688,null,0,d.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(20,0,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,18,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,15,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPassword"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,32)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,32).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,32)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,32)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(32,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(33,16384,null,0,i.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,i.NG_VALIDATORS,function(n){return[n]},[i.RequiredValidator]),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.DefaultValueAccessor]),t.ɵdid(36,671744,null,0,i.NgModel,[[2,i.ControlContainer],[2,i.NG_VALIDATORS],[8,null],[2,i.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(38,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),t.ɵdid(39,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"warning");n(l,33,0,"");n(l,36,0,"MasterPassword",e.masterPassword);n(l,39,0,"")},function(n,l){n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"exportVault"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l,0),"exportMasterPassword"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"exportWarning"))),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"masterPass"))),n(l,31,0,t.ɵnov(l,33).required?"":null,t.ɵnov(l,38).ngClassUntouched,t.ɵnov(l,38).ngClassTouched,t.ɵnov(l,38).ngClassPristine,t.ɵnov(l,38).ngClassDirty,t.ɵnov(l,38).ngClassValid,t.ɵnov(l,38).ngClassInvalid,t.ɵnov(l,38).ngClassPending),n(l,43,0,t.ɵnov(l,1).loading),n(l,45,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"loading")),"")),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"exportVault")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-export",[],null,null,null,S,b)),t.ɵdid(1,114688,null,0,p.ExportComponent,[f.Angulartics2,v.ToasterService,h.CryptoService,g.UserService,o.I18nService,m.PlatformUtilsService,y.ExportService,C.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ExportComponent=b,l.View_ExportComponent_0=S,l.View_ExportComponent_Host_0=w;var R=t.ɵccf("app-org-export",p.ExportComponent,w,{},{onSaved:"onSaved"},[]);l.ExportComponentNgFactory=R},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.collections=[],this.collectionRelationships=[]}}();l.ImportOrganizationCiphersRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(40),r=e(37),a=e(2),s=e(7),d=e(18),c=e(17),p=e(252),f=e(3),v=e(9),h=e(26),g=e(50),m=e(4),y=e(10),C=e(44),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(7,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click "Export CSV"\n for your "Accounts".\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the XML file.\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML (2.x)" option.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save the CSV file.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my data" to save\n the CSV file.\n ']))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..." and save the XML\n file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive (readable) in CSV format"\n and save the CSV file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the CSV file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings". Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" → "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2sMldAI"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the CSV\n file.\n ']))],null,null)}function tn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,98,"app-callout",[["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(4,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,V)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(34,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,x)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(52,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(55,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(58,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(64,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(67,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(70,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(73,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(76,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(79,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(85,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(88,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(91,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(94,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,en)),t.ɵdid(97,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"pwsafexml"===e.format),n(l,58,0,"dashlanecsv"===e.format),n(l,61,0,"msecurecsv"===e.format),n(l,64,0,"stickypasswordxml"===e.format),n(l,67,0,"truekeycsv"===e.format),n(l,70,0,"clipperzhtml"===e.format),n(l,73,0,"roboformcsv"===e.format),n(l,76,0,"passboltcsv"===e.format),n(l,79,0,"ascendocsv"===e.format),n(l,82,0,"passwordbossjson"===e.format),n(l,85,0,"zohovaultcsv"===e.format),n(l,88,0,"splashidcsv"===e.format),n(l,91,0,"passkeepcsv"===e.format),n(l,94,0,"gnomejson"===e.format),n(l,97,0,"passwordagentcsv"===e.format)},null)}function un(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(12,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(34,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,tn)),t.ɵdid(44,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"))),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"))),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"))),n(l,64,0,t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"))),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading),n(l,77,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"")),n(l,81,0,t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData")))})}function on(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-import",[],null,null,null,un,b)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.CipherService,g.FolderService,m.ApiService,y.Router,C.CollectionService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=b,l.View_ImportComponent_0=un,l.View_ImportComponent_Host_0=on;var rn=t.ɵccf("app-org-import",p.ImportComponent,on,{},{},[]);l.ImportComponentNgFactory=rn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(10),r=e(5),a=e(253),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,39,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,36,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,27,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,24,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,17,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(37,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,"import");n(l,17,0,"active");n(l,24,0,"export");n(l,25,0,"active"),n(l,37,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"importData"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"exportVault")))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-tools",[],null,null,null,d,s)),t.ɵdid(1,49152,null,0,a.ToolsComponent,[],null,null)],null,null)}l.RenderType_ToolsComponent=s,l.View_ToolsComponent_0=d,l.View_ToolsComponent_Host_0=c;var p=t.ɵccf("app-org-tools",a.ToolsComponent,c,{},{},[]);l.ToolsComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0}),function(n){n[n.User_LoggedIn=1e3]="User_LoggedIn",n[n.User_ChangedPassword=1001]="User_ChangedPassword",n[n.User_Enabled2fa=1002]="User_Enabled2fa",n[n.User_Disabled2fa=1003]="User_Disabled2fa",n[n.User_Recovered2fa=1004]="User_Recovered2fa",n[n.User_FailedLogIn=1005]="User_FailedLogIn",n[n.User_FailedLogIn2fa=1006]="User_FailedLogIn2fa",n[n.Cipher_Created=1100]="Cipher_Created",n[n.Cipher_Updated=1101]="Cipher_Updated",n[n.Cipher_Deleted=1102]="Cipher_Deleted",n[n.Cipher_AttachmentCreated=1103]="Cipher_AttachmentCreated",n[n.Cipher_AttachmentDeleted=1104]="Cipher_AttachmentDeleted",n[n.Cipher_Shared=1105]="Cipher_Shared",n[n.Cipher_UpdatedCollections=1106]="Cipher_UpdatedCollections",n[n.Collection_Created=1300]="Collection_Created",n[n.Collection_Updated=1301]="Collection_Updated",n[n.Collection_Deleted=1302]="Collection_Deleted",n[n.Group_Created=1400]="Group_Created",n[n.Group_Updated=1401]="Group_Updated",n[n.Group_Deleted=1402]="Group_Deleted",n[n.OrganizationUser_Invited=1500]="OrganizationUser_Invited",n[n.OrganizationUser_Confirmed=1501]="OrganizationUser_Confirmed",n[n.OrganizationUser_Updated=1502]="OrganizationUser_Updated",n[n.OrganizationUser_Removed=1503]="OrganizationUser_Removed",n[n.OrganizationUser_UpdatedGroups=1504]="OrganizationUser_UpdatedGroups",n[n.Organization_Updated=1600]="Organization_Updated"}(l.EventType||(l.EventType={}))},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(92),i=e(60),r=e(5),a=e(566),s=e(281),d=e(131),c=e(61),p=e(565),f=e(8),v=e(7),h=e(2),g=e(256),m=e(26),y=e(3),C=e(9),b=e(4),S=t.ɵcrt({encapsulation:2,styles:[],data:{}});function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,"td",[["class","table-list-checkbox"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.parent.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,5,"input",[["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0;"change"===l&&(u=!1!==t.ɵnov(n,3).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(n.parent.context.$implicit.checked=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(5,671744,null,0,u.NgModel,[[8,null],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(7,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.$implicit.checked)},function(n,l){n(l,2,0,t.ɵnov(l,7).ngClassUntouched,t.ɵnov(l,7).ngClassTouched,t.ɵnov(l,7).ngClassPristine,t.ɵnov(l,7).ngClassDirty,t.ɵnov(l,7).ngClassValid,t.ɵnov(l,7).ngClassInvalid,t.ɵnov(l,7).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["appStopProp",""],["class","fa fa-share-alt"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(2,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),"shared")),""))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"i",[["appStopProp",""],["class","fa fa-paperclip"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(2,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,1),"attachments")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.copy(n.parent.context.$implicit.login.password,"password","password")&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-clipboard"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"copyPassword")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.share(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-share-alt"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"share")))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.collections(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-cubes"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"collections")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.events(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-file-text-o"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent.parent,1),"eventLogs")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,71,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"td",[["class","table-list-icon"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,1,"app-vault-icon",[],null,null,null,a.View_IconComponent_0,a.RenderType_IconComponent)),t.ɵdid(8,573440,null,0,s.IconComponent,[d.EnvironmentService,c.StateService],{cipher:[0,"cipher"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,19,"td",[["class","reduced-lh"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.checkCipher(n.context.$implicit)&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"a",[["appStopClick",""],["appStopProp",""],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,14).onClick(e)&&u);"click"===l&&(u=!1!==t.ɵnov(n,15).onClick(e)&&u);"click"===l&&(u=!1!==o.selectCipher(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(14,16384,null,0,i.StopClickDirective,[],null,null),t.ɵdid(15,16384,null,0,o.StopPropDirective,[],null,null),t.ɵppd(16,1),(n()(),t.ɵted(17,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(20,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(23,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,2,"small",[["appStopProp",""]],null,[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,28).onClick(e)&&u);return u},null,null)),t.ɵdid(28,16384,null,0,o.StopPropDirective,[],null,null),(n()(),t.ɵted(29,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,38,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,35,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["id","dropdownMenuButton"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,27,"div",[["aria-labelledby","dropdownMenuButton"],["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(44,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,47).onClick(e)&&u);"click"===l&&(u=!1!==o.attachments(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(47,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,0,"i",[["class","fa fa-fw fa-paperclip"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(54,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(57,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(60,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item text-danger"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,63).onClick(e)&&u);"click"===l&&(u=!1!==o.delete(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(63,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,0,"i",[["class","fa fa-fw fa-trash-o"]],null,null,null,null,null)),(n()(),t.ɵted(66,null,["\n ","\n "])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.organization),n(l,8,0,l.context.$implicit),n(l,20,0,!e.organization&&l.context.$implicit.organizationId),n(l,23,0,l.context.$implicit.hasAttachments),n(l,44,0,l.context.$implicit.type===e.cipherType.Login),n(l,54,0,!e.organization&&!l.context.$implicit.organizationId),n(l,57,0,l.context.$implicit.organizationId),n(l,60,0,l.context.$implicit.organizationId&&e.accessEvents)},function(n,l){n(l,13,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,13,0,n(l,16,0,t.ɵnov(l.parent.parent.parent,1),"editItem")),"")),n(l,17,0,l.context.$implicit.name),n(l,29,0,l.context.$implicit.subTitle),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l.parent.parent.parent,1),"attachments"))),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent.parent.parent,1),"delete")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list table-ciphers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(5,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.parent.context.ngIf)},null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent.parent,1),"loading")),""))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"button",[["class","btn btn-outline-primary"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1)],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,1),"addItem")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(7,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,7,0,l.component.showAddNew)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,1),"noItemsInList")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","no-items"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.loaded),n(l,6,0,e.loaded)},null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,3,0,l.context.ngIf.length>0),n(l,6,0,0===l.context.ngIf.length)},null)}function D(n){return t.ɵvid(0,[t.ɵpid(0,p.SearchCiphersPipe,[f.PlatformUtilsService]),t.ɵpid(0,v.I18nPipe,[h.I18nService]),(n()(),t.ɵand(16777216,null,null,2,null,x)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),e.ciphers,e.searchText)))},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-ciphers",[],null,null,null,D,S)),t.ɵdid(1,49152,null,0,g.CiphersComponent,[m.CipherService,y.Angulartics2,C.ToasterService,h.I18nService,f.PlatformUtilsService,b.ApiService],null,null)],null,null)}l.RenderType_CiphersComponent=S,l.View_CiphersComponent_0=D,l.View_CiphersComponent_Host_0=U;var F=t.ɵccf("app-org-vault-ciphers",g.CiphersComponent,U,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"},[]);l.CiphersComponentNgFactory=F},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(5),o=e(60),i=e(7),r=e(2),a=e(13),s=e(87),d=e(257),c=e(44),p=e(50),f=e(4),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectFavorites()&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-star"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,["","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,n(l,2,0,l.component.selectedFavorites))},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"favorites")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto show-active"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.editFolder(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(2,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"i",[["class","fa fa-pencil fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"editFolder")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,12,"li",[["class","d-flex"]],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,4,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectFolder(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-caret-right"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(11,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"d-flex",n(l,2,0,e.selectedFolder&&l.context.$implicit.id===e.selectedFolderId)),n(l,11,0,l.context.$implicit.id)},function(n,l){n(l,8,0,l.context.$implicit.name)})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"h3",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵeld(5,0,null,null,5,"a",[["appStopClick",""],["class","text-muted ml-auto"],["href","#"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,6).onClick(e)&&u);"click"===l&&(u=!1!==o.addFolder()&&u);return u},null,null)),t.ɵdid(6,16384,null,0,o.StopClickDirective,[],null,null),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,4,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(16,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,16,0,l.component.folders)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"folders"))),n(l,5,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,5,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addFolder")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"li",[],null,null,null,null,null)),t.ɵdid(1,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(2,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,4,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e)&&u);"click"===l&&(u=!1!==o.selectCollection(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(5,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa-li fa fa-caret-right"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ",""])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,n(l,2,0,l.context.$implicit.id===e.selectedCollectionId))},function(n,l){n(l,8,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,4,"ul",[["class","fa-ul card-ul carets"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(9,802816,null,0,u.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,9,0,l.component.collections)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"collections")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(3,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(6,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.showFolders),n(l,6,0,e.showCollections&&e.collections&&e.collections.length)},null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,95,"div",[["class","card vault-filters"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Filters\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,89,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["appAutofocus",""],["class","form-control"],["id","search"],["type","search"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.searchText=e)&&u);"input"===l&&(u=!1!==o.searchTextChanged()&&u);return u},null,null)),t.ɵdid(9,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,a.NgModel,[[8,null],[8,null],[8,null],[2,a.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(13,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(14,81920,null,0,s.AutofocusDirective,[t.ElementRef],{appAutofocus:[0,"appAutofocus"]},null),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,16,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(20,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(21,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e)&&u);"click"===l&&(u=!1!==o.selectAll()&&u);return u},null,null)),t.ɵdid(24,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-th"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["","\n "])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(32,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"h3",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,49,"ul",[["class","fa-ul card-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(42,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(43,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,46).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Login)&&u);return u},null,null)),t.ɵdid(46,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-globe"]],null,null,null,null,null)),(n()(),t.ɵted(49,null,["","\n "])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(54,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(55,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,58).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Card)&&u);return u},null,null)),t.ɵdid(58,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-credit-card"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["","\n "])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(66,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(67,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,70).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.Identity)&&u);return u},null,null)),t.ɵdid(70,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-id-card-o"]],null,null,null,null,null)),(n()(),t.ɵted(73,null,["","\n "])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,10,"li",[],null,null,null,null,null)),t.ɵdid(78,278528,null,0,u.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(79,{active:0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,5,"a",[["appStopClick",""],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,82).onClick(e)&&u);"click"===l&&(u=!1!==o.selectType(o.cipherType.SecureNote)&&u);return u},null,null)),t.ɵdid(82,16384,null,0,o.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(84,0,null,null,0,"i",[["class","fa-li fa fa-fw fa-sticky-note-o"]],null,null,null,null,null)),(n()(),t.ɵted(85,null,["","\n "])),t.ɵppd(86,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(91,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(94,16384,null,0,u.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,11,0,e.searchText);n(l,14,0,""),n(l,20,0,n(l,21,0,e.selectedAll)),n(l,32,0,e.showFavorites),n(l,42,0,n(l,43,0,e.selectedType===e.cipherType.Login)),n(l,54,0,n(l,55,0,e.selectedType===e.cipherType.Card)),n(l,66,0,n(l,67,0,e.selectedType===e.cipherType.Identity)),n(l,78,0,n(l,79,0,e.selectedType===e.cipherType.SecureNote)),n(l,91,0,!e.loaded),n(l,94,0,e.loaded)},function(n,l){var e=l.component;n(l,8,0,t.ɵinlineInterpolate(1,"",e.searchPlaceholder||t.ɵunv(l,8,0,n(l,15,0,t.ɵnov(l,0),"searchVault")),""),t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"allItems"))),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"types"))),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"typeLogin"))),n(l,61,0,t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l,0),"typeCard"))),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l,0),"typeIdentity"))),n(l,85,0,t.ɵunv(l,85,0,n(l,86,0,t.ɵnov(l,0),"typeSecureNote")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault-groupings",[],null,null,null,R,v)),t.ɵdid(1,49152,null,0,d.GroupingsComponent,[c.CollectionService,p.FolderService,f.ApiService,r.I18nService],null,null)],null,null)}l.RenderType_GroupingsComponent=v,l.View_GroupingsComponent_0=R,l.View_GroupingsComponent_Host_0=_;var I=t.ɵccf("app-org-vault-groupings",d.GroupingsComponent,_,{showFolders:"showFolders",showCollections:"showCollections",showFavorites:"showFavorites"},{onAllClicked:"onAllClicked",onFavoritesClicked:"onFavoritesClicked",onCipherTypeClicked:"onCipherTypeClicked",onFolderClicked:"onFolderClicked",onAddFolder:"onAddFolder",onEditFolder:"onEditFolder",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"},[]);l.GroupingsComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(729),r=e(257),a=e(44),s=e(50),d=e(4),c=e(728),p=e(256),f=e(26),v=e(3),h=e(9),g=e(8),m=e(255),y=e(10),C=e(21),b=e(5),S=e(66),w=e(27),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{groupingsComponent:0}),t.ɵqud(402653184,2,{ciphersComponent:0}),t.ɵqud(402653184,3,{attachmentsModalRef:0}),t.ɵqud(402653184,4,{cipherAddEditModalRef:0}),t.ɵqud(402653184,5,{collectionsModalRef:0}),t.ɵqud(402653184,6,{eventsModalRef:0}),(n()(),t.ɵeld(7,0,null,null,31,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,28,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,5,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"app-org-vault-groupings",[],null,[[null,"onAllClicked"],[null,"onCipherTypeClicked"],[null,"onCollectionClicked"],[null,"onSearchTextChanged"]],function(n,l,e){var t=!0,u=n.component;"onAllClicked"===l&&(t=!1!==u.clearGroupingFilters()&&t);"onCipherTypeClicked"===l&&(t=!1!==u.filterCipherType(e)&&t);"onCollectionClicked"===l&&(t=!1!==u.filterCollection(e.id)&&t);"onSearchTextChanged"===l&&(t=!1!==u.filterSearchText(e)&&t);return t},i.View_GroupingsComponent_0,i.RenderType_GroupingsComponent)),t.ɵdid(14,49152,[[1,4]],0,r.GroupingsComponent,[a.CollectionService,s.FolderService,d.ApiService,o.I18nService],{showFolders:[0,"showFolders"],showFavorites:[1,"showFavorites"]},{onAllClicked:"onAllClicked",onCipherTypeClicked:"onCipherTypeClicked",onCollectionClicked:"onCollectionClicked",onSearchTextChanged:"onSearchTextChanged"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,18,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,11,"div",[["class","page-header d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(23,null,["",""])),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,4,"button",[["class","btn btn-outline-primary btn-sm ml-auto"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.addCipher()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(29,null,["","\n "])),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"app-org-vault-ciphers",[],null,[[null,"onCipherClicked"],[null,"onAttachmentsClicked"],[null,"onAddCipher"],[null,"onCollectionsClicked"],[null,"onEventsClicked"]],function(n,l,e){var t=!0,u=n.component;"onCipherClicked"===l&&(t=!1!==u.editCipher(e)&&t);"onAttachmentsClicked"===l&&(t=!1!==u.editCipherAttachments(e)&&t);"onAddCipher"===l&&(t=!1!==u.addCipher()&&t);"onCollectionsClicked"===l&&(t=!1!==u.editCipherCollections(e)&&t);"onEventsClicked"===l&&(t=!1!==u.viewEvents(e)&&t);return t},c.View_CiphersComponent_0,c.RenderType_CiphersComponent)),t.ɵdid(34,49152,[[2,4]],0,p.CiphersComponent,[f.CipherService,v.Angulartics2,h.ToasterService,o.I18nService,g.PlatformUtilsService,d.ApiService],null,{onCipherClicked:"onCipherClicked",onAddCipher:"onAddCipher",onAttachmentsClicked:"onAttachmentsClicked",onCollectionsClicked:"onCollectionsClicked",onEventsClicked:"onEventsClicked"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["attachments",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["cipherAddEdit",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["collections",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["eventsTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,14,0,!1,!1)},function(n,l){n(l,23,0,t.ɵunv(l,23,0,n(l,24,0,t.ɵnov(l,0),"vault"))),n(l,29,0,t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"addItem")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-org-vault",[],null,null,null,O,R)),t.ɵdid(1,114688,null,0,m.VaultComponent,[y.ActivatedRoute,C.UserService,b.Location,y.Router,S.SyncService,o.I18nService,t.ComponentFactoryResolver,w.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_VaultComponent=R,l.View_VaultComponent_0=O,l.View_VaultComponent_Host_0=N;var T=t.ɵccf("app-org-vault",m.VaultComponent,N,{},{},[]);l.VaultComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(130),r=e(116),a=e(42),s=e(7),d=e(2),c=e(569),p=e(284),f=e(27),v=e(8),h=e(35),g=e(568),m=e(283),y=e(258),C=e(21),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"a",[["class","nav-link"],["routerLink","settings"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,3).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(3,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(4,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,0,"i",[["class","fa fa-cogs"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"settings");n(l,4,0,"active")},function(n,l){n(l,2,0,t.ɵnov(l,3).target,t.ɵnov(l,3).href),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent.parent,0),"settings")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,43,"ul",[["class","nav nav-tabs"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,8,"a",[["class","nav-link"],["routerLink","vault"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,5).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(5,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(6,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,0,"i",[["class","fa fa-lock"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"a",[["class","nav-link"],["routerLink","manage"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,18).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(18,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(19,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,0,"i",[["class","fa fa-sliders"]],null,null,null,null,null)),(n()(),t.ɵted(24,null,["\n ","\n "])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,11,"li",[["class","nav-item"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,8,"a",[["class","nav-link"],["routerLink","tools"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,31).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(31,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(32,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,0,"i",[["class","fa fa-wrench"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["\n ","\n "])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(42,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,"vault");n(l,6,0,"active");n(l,18,0,"manage");n(l,19,0,"active");n(l,31,0,"tools");n(l,32,0,"active"),n(l,42,0,e.organization.isOwner)},function(n,l){n(l,4,0,t.ɵnov(l,5).target,t.ɵnov(l,5).href),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"vault"))),n(l,17,0,t.ɵnov(l,18).target,t.ɵnov(l,18).href),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,0),"manage"))),n(l,30,0,t.ɵnov(l,31).target,t.ɵnov(l,31).href),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"tools")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,23,"div",[["class","org-nav"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,20,"div",[["class","container d-flex flex-column"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,14,"div",[["class","my-auto d-flex align-items-center pl-1"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"app-avatar",[],null,null,null,i.View_AvatarComponent_0,i.RenderType_AvatarComponent)),t.ɵdid(7,638976,null,0,r.AvatarComponent,[a.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],circle:[3,"circle"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,8,"div",[["class","org-name ml-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(21,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,7,0,e.organization.name,45,45,!0),n(l,21,0,e.organization.isAdmin)},function(n,l){n(l,12,0,l.component.organization.name),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organization")))})}function _(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[d.I18nService]),(n()(),t.ɵeld(1,0,null,null,1,"app-navbar",[],null,null,null,c.View_NavbarComponent_0,c.RenderType_NavbarComponent)),t.ɵdid(2,114688,null,0,p.NavbarComponent,[f.MessagingService,v.PlatformUtilsService,h.TokenService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(5,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(7,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(8,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,1,"app-footer",[],null,null,null,g.View_FooterComponent_0,g.RenderType_FooterComponent)),t.ɵdid(11,114688,null,0,m.FooterComponent,[v.PlatformUtilsService],null,null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0),n(l,5,0,e.organization),n(l,8,0),n(l,11,0)},null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-organization-layout",[],null,null,null,_,b)),t.ɵdid(1,114688,null,0,y.OrganizationLayoutComponent,[u.ActivatedRoute,C.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OrganizationLayoutComponent=b,l.View_OrganizationLayoutComponent_0=_,l.View_OrganizationLayoutComponent_Host_0=I;var A=t.ɵccf("app-organization-layout",y.OrganizationLayoutComponent,I,{},{},[]);l.OrganizationLayoutComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(5),a=e(7),s=e(13),d=e(18),c=e(17),p=e(259),f=e(129),v=e(21),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["","..."])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent,0),"reportError")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","success"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,2)],function(n,l){n(l,1,0,"success",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"goodNews")),""))},function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"breachUsernameNotFound",e.checkedUsername)))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","danger"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["\n ","\n "])),t.ɵppd(4,3)],function(n,l){n(l,1,0,"danger",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"breachFound")),""))},function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"breachUsernameFound",e.checkedUsername,e.breachedAccounts.length)))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"li",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""]))],null,function(n,l){n(l,1,0,l.context.$implicit)})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,64,"li",[["class","list-group-item min-height-fix"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,61,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,3,"div",[["class","col-2 text-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,0,"img",[["alt",""],["class","img-fluid"]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,16,"div",[["class","col-7"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"h3",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,0,"p",[],[[8,"innerHTML",1]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"p",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",":"])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,4,"ul",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(23,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,35,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,32,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,1,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(43,null,["",""])),t.ɵppd(44,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(47,null,["",""])),t.ɵppd(48,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(51,null,["",""])),t.ɵppd(52,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(59,null,["",""])),t.ɵppd(60,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,23,0,l.context.$implicit.dataClasses)},function(n,l){n(l,6,0,"https://haveibeenpwned.com/Content/Images/PwnedLogos/"+l.context.$implicit.name+"."+l.context.$implicit.logoType),n(l,12,0,l.context.$implicit.title),n(l,14,0,l.context.$implicit.description),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent.parent.parent,0),"compromisedData"))),n(l,32,0,t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent.parent.parent.parent,0),"website"))),n(l,36,0,l.context.$implicit.domain),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l.parent.parent.parent.parent,0),"affectedUsers"))),n(l,43,0,t.ɵunv(l,43,0,n(l,44,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.pwnCount))),n(l,47,0,t.ɵunv(l,47,0,n(l,48,0,t.ɵnov(l.parent.parent.parent.parent,0),"breachOccurred"))),n(l,51,0,t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.breachDate,"mediumDate"))),n(l,55,0,t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent.parent.parent.parent,0),"breachReported"))),n(l,59,0,t.ɵunv(l,59,0,n(l,60,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.addedDate,"mediumDate")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"ul",[["class","list-group list-group-breach"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(3,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,l.component.breachedAccounts)},null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(9,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.breachedAccounts.length),n(l,6,0,e.breachedAccounts.length),n(l,9,0,e.breachedAccounts.length)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"div",[["class","mt-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.error),n(l,6,0,!e.error)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,a.I18nPipe,[i.I18nService]),t.ɵpid(0,r.DecimalPipe,[t.LOCALE_ID]),t.ɵpid(0,r.DatePipe,[t.LOCALE_ID]),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,[["form",1]],null,38,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,15).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,15).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(15,4210688,null,0,s.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,s.ControlContainer,null,[s.NgForm]),t.ɵdid(17,16384,null,0,s.NgControlStatusGroup,[s.ControlContainer],null,null),t.ɵdid(18,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,21,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,18,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,2,"label",[["for","username"]],null,null,null,null,null)),(n()(),t.ɵted(25,null,["",""])),t.ɵppd(26,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,7,"input",[["class","form-control"],["id","username"],["name","Username"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,29)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,29).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,29)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,29)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.username=e)&&u);return u},null,null)),t.ɵdid(29,16384,null,0,s.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,s.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(30,16384,null,0,s.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,s.NG_VALIDATORS,function(n){return[n]},[s.RequiredValidator]),t.ɵprd(1024,null,s.NG_VALUE_ACCESSOR,function(n){return[n]},[s.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,s.NgModel,[[2,s.ControlContainer],[2,s.NG_VALIDATORS],[8,null],[2,s.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,s.NgControl,null,[s.NgModel]),t.ɵdid(35,16384,null,0,s.NgControlStatus,[s.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(38,null,["",""])),t.ɵppd(39,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(46,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(49,null,["",""])),t.ɵppd(50,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(55,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,18,0,e.formPromise);n(l,30,0,"");n(l,33,0,"Username",e.username),n(l,55,0,!t.ɵnov(l,14).loading&&e.checkedUsername)},function(n,l){n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"dataBreachReport"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"breachDesc"))),n(l,14,0,t.ɵnov(l,17).ngClassUntouched,t.ɵnov(l,17).ngClassTouched,t.ɵnov(l,17).ngClassPristine,t.ɵnov(l,17).ngClassDirty,t.ɵnov(l,17).ngClassValid,t.ɵnov(l,17).ngClassInvalid,t.ɵnov(l,17).ngClassPending),n(l,25,0,t.ɵunv(l,25,0,n(l,26,0,t.ɵnov(l,0),"username"))),n(l,28,0,t.ɵnov(l,30).required?"":null,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,38,0,t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l,0),"breachCheckUsernameEmail"))),n(l,43,0,t.ɵnov(l,14).loading),n(l,45,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,45,0,n(l,46,0,t.ɵnov(l,0),"loading")),"")),n(l,49,0,t.ɵunv(l,49,0,n(l,50,0,t.ɵnov(l,0),"checkBreaches")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-breach-report",[],null,null,null,_,h)),t.ɵdid(1,114688,null,0,p.BreachReportComponent,[f.AuditService,v.UserService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_BreachReportComponent=h,l.View_BreachReportComponent_0=_,l.View_BreachReportComponent_Host_0=I;var A=t.ɵccf("app-breach-report",p.BreachReportComponent,I,{},{},[]);l.BreachReportComponentNgFactory=A},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]128&&(this.options.length=128),this.options.minNumber?this.options.minNumber>this.options.length?this.options.minNumber=this.options.length:this.options.minNumber>9&&(this.options.minNumber=9):this.options.minNumber=0,this.options.minSpecial?this.options.minSpecial>this.options.length?this.options.minSpecial=this.options.length:this.options.minSpecial>9&&(this.options.minSpecial=9):this.options.minSpecial=0,this.options.minSpecial+this.options.minNumber>this.options.length&&(this.options.minSpecial=this.options.length-this.options.minNumber)},n}();l.PasswordGeneratorComponent=i},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(13),r=e(260),a=e(94),s=e(3),d=e(8),c=e(9),p=t.ɵcrt({encapsulation:2,styles:[],data:{}});function f(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function v(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{historyModalRef:0}),(n()(),t.ɵeld(2,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(9,0,null,null,4,"div",[["class","card card-password bg-light my-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(15,0,null,null,46,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"label",[["for","length"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"input",[["class","form-control"],["id","length"],["max","128"],["min","5"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,24)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,24)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,24)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.options.length=e)&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);return u},null,null)),t.ɵdid(24,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(25,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(27,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(29,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"label",[["for","min-number"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,6,"input",[["class","form-control"],["id","min-number"],["max","9"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"ngModelChange"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,39)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,39).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,39)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,39)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,40).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,40).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,40).onTouched()&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.minNumber=e)&&u);return u},null,null)),t.ɵdid(39,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(40,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(42,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(44,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,13,"div",[["class","form-group col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"label",[["for","min-special"]],null,null,null,null,null)),(n()(),t.ɵted(50,null,["",""])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,6,"input",[["class","form-control"],["id","min-special"],["max","9"],["min","0"],["type","number"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"input"],[null,"ngModelChange"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,54)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,54).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,54)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,54)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,55).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,55).onTouched()&&u);"input"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.minSpecial=e)&&u);return u},null,null)),t.ɵdid(54,16384,null,0,i.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,i.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(55,16384,null,0,i.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[i.DefaultValueAccessor,i.ɵbc]),t.ɵdid(57,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(59,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(63,0,null,null,67,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"input",[["class","form-check-input"],["id","uppercase"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,68).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.uppercase=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(70,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(72,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,1,"label",[["class","form-check-label"],["for","uppercase"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["A-Z"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(78,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,5,"input",[["class","form-check-input"],["id","lowercase"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,81).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,81).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.lowercase=e)&&u);return u},null,null)),t.ɵdid(81,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(83,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(85,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(87,0,null,null,1,"label",[["class","form-check-label"],["for","lowercase"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["a-z"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(91,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,5,"input",[["class","form-check-input"],["id","numbers"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,94).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,94).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.number=e)&&u);return u},null,null)),t.ɵdid(94,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(96,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(98,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(100,0,null,null,1,"label",[["class","form-check-label"],["for","numbers"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["0-9"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(104,0,null,null,11,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(106,0,null,null,5,"input",[["class","form-check-input"],["id","special"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,107).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,107).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.options.special=e)&&u);return u},null,null)),t.ɵdid(107,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(109,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(111,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(113,0,null,null,1,"label",[["class","form-check-label"],["for","special"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["!@#$%^&*"])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(117,0,null,null,12,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(119,0,null,null,5,"input",[["class","form-check-input"],["id","ambiguous"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"change"],[null,"ngModelChange"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,120).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,120).onTouched()&&u);"change"===l&&(u=!1!==o.saveOptions()&&u);"ngModelChange"===l&&(u=!1!==(o.avoidAmbiguous=e)&&u);return u},null,null)),t.ɵdid(120,16384,null,0,i.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,i.NG_VALUE_ACCESSOR,function(n){return[n]},[i.CheckboxControlValueAccessor]),t.ɵdid(122,671744,null,0,i.NgModel,[[8,null],[8,null],[8,null],[2,i.NG_VALUE_ACCESSOR]],{model:[0,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,i.NgControl,null,[i.NgModel]),t.ɵdid(124,16384,null,0,i.NgControlStatus,[i.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(126,0,null,null,2,"label",[["class","form-check-label"],["for","ambiguous"]],null,null,null,null,null)),(n()(),t.ɵted(127,null,["",""])),t.ɵppd(128,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(132,0,null,null,21,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(134,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(136,0,null,null,2,"button",[["class","btn btn-primary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.regenerate()&&t);return t},null,null)),(n()(),t.ɵted(137,null,["\n ","\n "])),t.ɵppd(138,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(140,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.copy()&&t);return t},null,null)),(n()(),t.ɵted(141,null,["\n ","\n "])),t.ɵppd(142,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,7,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(147,0,null,null,4,"button",[["class","btn btn-outline-secondary"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.history()&&t);return t},null,null)),t.ɵppd(148,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(150,0,null,null,0,"i",[["class","fa fa-clock-o fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["historyTemplate",2]],null,0,null,f)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,27,0,e.options.length),n(l,42,0,e.options.minNumber),n(l,57,0,e.options.minSpecial),n(l,70,0,e.options.uppercase),n(l,83,0,e.options.lowercase),n(l,96,0,e.options.number),n(l,109,0,e.options.special),n(l,122,0,e.avoidAmbiguous)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l,0),"passwordGenerator"))),n(l,12,0,e.password),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"length"))),n(l,23,0,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending),n(l,35,0,t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l,0),"minNumbers"))),n(l,38,0,t.ɵnov(l,44).ngClassUntouched,t.ɵnov(l,44).ngClassTouched,t.ɵnov(l,44).ngClassPristine,t.ɵnov(l,44).ngClassDirty,t.ɵnov(l,44).ngClassValid,t.ɵnov(l,44).ngClassInvalid,t.ɵnov(l,44).ngClassPending),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"minSpecial"))),n(l,53,0,t.ɵnov(l,59).ngClassUntouched,t.ɵnov(l,59).ngClassTouched,t.ɵnov(l,59).ngClassPristine,t.ɵnov(l,59).ngClassDirty,t.ɵnov(l,59).ngClassValid,t.ɵnov(l,59).ngClassInvalid,t.ɵnov(l,59).ngClassPending),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,80,0,t.ɵnov(l,85).ngClassUntouched,t.ɵnov(l,85).ngClassTouched,t.ɵnov(l,85).ngClassPristine,t.ɵnov(l,85).ngClassDirty,t.ɵnov(l,85).ngClassValid,t.ɵnov(l,85).ngClassInvalid,t.ɵnov(l,85).ngClassPending),n(l,93,0,t.ɵnov(l,98).ngClassUntouched,t.ɵnov(l,98).ngClassTouched,t.ɵnov(l,98).ngClassPristine,t.ɵnov(l,98).ngClassDirty,t.ɵnov(l,98).ngClassValid,t.ɵnov(l,98).ngClassInvalid,t.ɵnov(l,98).ngClassPending),n(l,106,0,t.ɵnov(l,111).ngClassUntouched,t.ɵnov(l,111).ngClassTouched,t.ɵnov(l,111).ngClassPristine,t.ɵnov(l,111).ngClassDirty,t.ɵnov(l,111).ngClassValid,t.ɵnov(l,111).ngClassInvalid,t.ɵnov(l,111).ngClassPending),n(l,119,0,t.ɵnov(l,124).ngClassUntouched,t.ɵnov(l,124).ngClassTouched,t.ɵnov(l,124).ngClassPristine,t.ɵnov(l,124).ngClassDirty,t.ɵnov(l,124).ngClassValid,t.ɵnov(l,124).ngClassInvalid,t.ɵnov(l,124).ngClassPending),n(l,127,0,t.ɵunv(l,127,0,n(l,128,0,t.ɵnov(l,0),"ambiguous"))),n(l,137,0,t.ɵunv(l,137,0,n(l,138,0,t.ɵnov(l,0),"regeneratePassword"))),n(l,141,0,t.ɵunv(l,141,0,n(l,142,0,t.ɵnov(l,0),"copyPassword"))),n(l,147,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,147,0,n(l,148,0,t.ɵnov(l,0),"passwordHistory")),""))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-password-generator",[],null,null,null,v,p)),t.ɵdid(1,114688,null,0,r.PasswordGeneratorComponent,[a.PasswordGenerationService,s.Angulartics2,d.PlatformUtilsService,o.I18nService,c.ToasterService,t.ComponentFactoryResolver],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PasswordGeneratorComponent=p,l.View_PasswordGeneratorComponent_0=v,l.View_PasswordGeneratorComponent_Host_0=h;var g=t.ɵccf("app-password-generator",r.PasswordGeneratorComponent,h,{showSelect:"showSelect"},{onSelected:"onSelected"},[]);l.PasswordGeneratorComponentNgFactory=g},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]t?l.substring(t+1):null;if(!e.isNullOrWhitespace(u)&&!e.isNullOrWhitespace(o)&&"SecretType"!==u){var i=u.toLowerCase();null==n.login.username&&e.usernameFieldNames.indexOf(i)>-1?n.login.username=o:null==n.login.password&&e.passwordFieldNames.indexOf(i)>-1?n.login.password=o:e.processKvp(n,u,o)}}})},l}(o.BaseImporter);l.ZohoVaultCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(5===n.length){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n[0],"--"),t.notes=l.getValueOrDefault(n[4]),t.login.username=l.getValueOrDefault(n[1]),t.login.password=l.getValueOrDefault(n[2]),t.login.uris=l.makeUriArray(n[3]),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.UpmCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(115),a=e(91),s=e(53),d=e(101),c=["kind","autologin","favorite","hexcolor","protectedwithpassword","subdomainonly","type","tk_export_version","note","title","document_content"],p=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.favorite="true"===l.getValueOrDefault(n.favorite,"").toLowerCase(),t.name=l.getValueOrDefault(n.name,"--"),t.notes=l.getValueOrDefault(n.memo,""),t.login.username=l.getValueOrDefault(n.login),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),"login"!==n.kind&&(t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.note,"")),"cc"===n.kind){if(t.type=s.CipherType.Card,t.card=new r.CardView,t.card.cardholderName=l.getValueOrDefault(n.cardholder),t.card.number=l.getValueOrDefault(n.number),t.card.brand=l.getCardBrand(t.card.number),!l.isNullOrWhitespace(n.expiryDate))try{var u=new Date(n.expiryDate);t.card.expYear=u.getFullYear().toString(),t.card.expMonth=(u.getMonth()+1).toString()}catch(n){}}else if("login"!==n.kind)for(var o in t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=d.SecureNoteType.Generic,l.isNullOrWhitespace(t.notes)||(t.notes=l.getValueOrDefault(n.document_content,"")),n)n.hasOwnProperty(o)&&c.indexOf(o.toLowerCase())<0&&!l.isNullOrWhitespace(n[o])&&l.processKvp(t,o,n[o]);l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.TrueKeyCsvImporter=p},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("root > Database > Logins > Login");return Array.from(u).forEach(function(n){var u=n.getAttribute("ID");if(!l.isNullOrWhitespace(u)){var o=n.getAttribute("Name"),i=n.getAttribute("Password"),r=null,a=null,s=null,d=null,c=null,p=t.querySelector('root > Database > Accounts > Account > LoginLinks > Login[SourceLoginID="'+u+'"]');if(null!=p){var f=p.parentElement.parentElement;null!=f&&(r=f.getAttribute("Name"),a=f.getAttribute("Link"),d=f.getAttribute("ParentID"),s=f.getAttribute("Comments"),l.isNullOrWhitespace(s)||(s=s.split("/n").join("\n")))}l.isNullOrWhitespace(d)||(c=l.buildGroupText(t,d,""),l.processFolder(e,c));var v=l.initLoginCipher();v.name=l.getValueOrDefault(r,"--"),v.notes=l.getValueOrDefault(s),v.login.username=l.getValueOrDefault(o),v.login.password=l.getValueOrDefault(i),v.login.uris=l.makeUriArray(a),l.cleanupCipher(v),e.ciphers.push(v)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l.prototype.buildGroupText=function(n,l,e){var t=n.querySelector('root > Database > Groups > Group[ID="'+l+'"]');return null==t?e:(this.isNullOrWhitespace(e)||(e="/"+e),e=t.getAttribute("Name")+e,this.buildGroupText(n,t.getAttribute("ParentID"),e))},l}(o.BaseImporter);l.StickyPasswordXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){l.processFolder(e,l.getValueOrDefault(n[n.length-1]));var t=l.initLoginCipher();t.notes=l.getValueOrDefault(n[n.length-2],""),t.name=l.getValueOrDefault(n[1],"--"),"Web Logins"===n[0]||"Servers"===n[0]||"Email Accounts"===n[0]?(t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),l.parseFieldsToNotes(t,5,n)):l.parseFieldsToNotes(t,2,n),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.parseFieldsToNotes=function(n,l,e){for(var t=l;t label")).forEach(function(n){var t=n.getAttribute("name"),o=n.getAttribute("id");if(!l.isNullOrWhitespace(t)&&!l.isNullOrWhitespace(o)){u.set(o,e.folders.length);var i=new r.FolderView;i.name=t,e.folders.push(i)}}),Array.from(t.querySelectorAll("database > card")).forEach(function(n){if("true"!==n.getAttribute("template")){var t=l.querySelectorDirectChild(n,"label_id");if(null!=t){var o=t.textContent;!l.isNullOrWhitespace(o)&&u.has(o)&&e.folderRelationships.push([e.ciphers.length,u.get(o)])}var i=l.initLoginCipher();i.name=l.getValueOrDefault(n.getAttribute("title"),"--"),"note"===n.getAttribute("type")?(i.type=s.CipherType.SecureNote,i.secureNote=new a.SecureNoteView,i.secureNote.type=d.SecureNoteType.Generic):Array.from(l.querySelectorAllDirectChild(n,"field")).forEach(function(n){var e=n.textContent;if(!l.isNullOrWhitespace(e)){var t=n.getAttribute("name"),u=l.getValueOrDefault(n.getAttribute("type"),"").toLowerCase();"login"===u?i.login.username=e:"password"===u?i.login.password=e:"notes"===u?i.notes+=e+"\n":"weblogin"===u||"website"===u?i.login.uris=l.makeUriArray(e):l.processKvp(i,t,e)}}),Array.from(l.querySelectorAllDirectChild(n,"notes")).forEach(function(n){i.notes+=n.textContent+"\n"}),l.cleanupCipher(i),e.ciphers.push(i)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.SafeInCloudXmlImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);if(null==t)return e.success=!1,e;var u=1;return t.forEach(function(n){var o=!l.isNullOrWhitespace(n.Folder)&&n.Folder.startsWith("/")?n.Folder.replace("/",""):n.Folder,i=l.isNullOrWhitespace(o)?null:o;l.processFolder(e,i);var r=l.initLoginCipher();r.notes=l.getValueOrDefault(n.Note),r.name=l.getValueOrDefault(n.Name,"--"),r.login.username=l.getValueOrDefault(n.Login),r.login.password=l.getValueOrDefault(n.Pwd),r.login.uris=l.makeUriArray(n.Url),l.cleanupCipher(r),u===t.length&&"--"===r.name&&l.isNullOrWhitespace(r.login.password)||(e.ciphers.push(r),u++)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.RoboFormCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelector("passwordsafe");if(null==u)return e.errorMessage="Missing `passwordsafe` node.",e.success=!1,e;var o=u.getAttribute("delimiter"),r=t.querySelectorAll("passwordsafe > entry");return Array.from(r).forEach(function(n){var t=l.querySelectorDirectChild(n,"group"),u=null==t||l.isNullOrWhitespace(t.textContent)?null:t.textContent.split(".").join("/");l.processFolder(e,u);var i=l.querySelectorDirectChild(n,"title"),r=l.querySelectorDirectChild(n,"username"),a=l.querySelectorDirectChild(n,"email"),s=l.querySelectorDirectChild(n,"password"),d=l.querySelectorDirectChild(n,"url"),c=l.querySelectorDirectChild(n,"notes"),p=l.initLoginCipher();p.name=null!=i?l.getValueOrDefault(i.textContent,"--"):"--",p.notes=null!=c?l.getValueOrDefault(c.textContent,"").split(o).join("\n"):null,p.login.username=null!=r?l.getValueOrDefault(r.textContent):null,p.login.password=null!=s?l.getValueOrDefault(s.textContent):null,p.login.uris=null!=d?l.makeUriArray(d.textContent):null,l.isNullOrWhitespace(p.login.username)&&null!=a?p.login.username=l.getValueOrDefault(a.textContent):null==a||l.isNullOrWhitespace(a.textContent)||(p.notes=l.isNullOrWhitespace(p.notes)?"Email: "+a.textContent:p.notes+"\nEmail: "+a.textContent),l.cleanupCipher(p),e.ciphers.push(p)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.PasswordSafeXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseXml(n);if(null==t)return e.success=!1,e;var u=t.querySelectorAll("PasswordManager > record");return Array.from(u).forEach(function(n){var t=l.querySelectorDirectChild(n,"Category"),u=null==t||l.isNullOrWhitespace(t.textContent)||"Unfiled"===t.textContent?null:t.textContent;l.processFolder(e,u);var o=l.querySelectorDirectChild(n,"Account-Name"),i=l.querySelectorDirectChild(n,"User-Id"),r=l.querySelectorDirectChild(n,"Password"),a=l.querySelectorDirectChild(n,"URL"),s=l.querySelectorDirectChild(n,"Notes"),d=l.initLoginCipher();d.name=null!=o?l.getValueOrDefault(o.textContent,"--"):"--",d.notes=null!=s?l.getValueOrDefault(s.textContent):"",d.login.username=null!=i?l.getValueOrDefault(i.textContent):null,d.login.password=null!=r?l.getValueOrDefault(r.textContent):null,d.login.uris=null!=a?l.makeUriArray(a.textContent):null;for(var c=[],p=1;p<=10;p++)c.push("Attribute-"+p);l.querySelectorAllDirectChild(n,c.join(",")).forEach(function(n){l.isNullOrWhitespace(n.textContent)||"null"===n.textContent||l.processKvp(d,n.tagName,n.textContent)}),l.cleanupCipher(d),e.ciphers.push(d)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.PasswordDragonXmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(115),a=e(53),s=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=JSON.parse(n);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();if(t.name=l.getValueOrDefault(n.name,"--"),t.login.uris=l.makeUriArray(n.login_url),null!=n.identifiers){for(var u in l.isNullOrWhitespace(n.identifiers.notes)||(t.notes=n.identifiers.notes.split("\\r\\n").join("\n").split("\\n").join("\n")),"CreditCard"===n.type&&(t.card=new r.CardView,t.type=a.CipherType.Card),n.identifiers)if(n.identifiers.hasOwnProperty(u)){var o=n.identifiers[u],i=null!=o?o.toString():null;if(!l.isNullOrWhitespace(i)&&"notes"!==u&&"ignoreItemInSecurityScore"!==u){if(t.type===a.CipherType.Card){if("cardNumber"===u){t.card.number=i,t.card.brand=l.getCardBrand(i);continue}if("nameOnCard"===u){t.card.cardholderName=i;continue}if("security_code"===u){t.card.code=i;continue}if("expires"===u){try{var s=new Date(i);t.card.expYear=s.getFullYear().toString(),t.card.expMonth=(s.getMonth()+1).toString()}catch(n){}continue}if("cardType"===u)continue}else{if("username"===u){t.login.username=i;continue}if("password"===u){t.login.password=i;continue}if((null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(u)>-1){t.login.uris=l.makeUriArray(i);continue}}l.processKvp(t,u,i)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.PasswordBossJsonImporter=s},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<9)){var t=l.getValueOrDefault(n[8],"(None)"),u="(None)"!==t?t.split("\\").join("/"):null;l.processFolder(e,u);var o=l.initLoginCipher();o.notes=l.getValueOrDefault(n[3]),o.name=l.getValueOrDefault(n[0],"--"),o.login.username=l.getValueOrDefault(n[1]),o.login.password=l.getValueOrDefault(n[2]),o.login.uris=l.makeUriArray(n[4]),l.convertToNoteIfNeeded(o),l.cleanupCipher(o),e.ciphers.push(o)}}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l}(o.BaseImporter);l.PasswordAgentCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.processFolder(e,l.getValue("category",n));var t=l.initLoginCipher();t.notes=l.getValue("description",n),t.name=l.getValueOrDefault(l.getValue("title",n),"--"),t.login.username=l.getValue("username",n),t.login.password=l.getValue("password",n),t.login.uris=l.makeUriArray(l.getValue("site",n)),l.processKvp(t,"Password 2",l.getValue("password2",n)),l.cleanupCipher(t),e.ciphers.push(t)}),this.organization&&this.moveFoldersToCollections(e),e.success=!0,e)},l.prototype.getValue=function(n,l){return this.getValueOrDefault(l[n],this.getValueOrDefault(l[" "+n]))},l}(o.BaseImporter);l.PassKeepCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(177),a=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=null;return t.forEach(function(n){if(null!=u){if(!(n.length<2||n.length!==u.length)){if(!l.isNullOrWhitespace(n[1]))if(l.organization){(t=n[1].split(",")).forEach(function(n){n=n.trim();for(var l=!0,t=e.collections.length,u=0;u0?t[0].trim():null;l.processFolder(e,o)}var i=l.initLoginCipher();i.name=l.getValueOrDefault(n[0],"--");for(var a=2;a-1?i.login.username=n[a]:l.passwordFieldNames.indexOf(s)>-1?i.login.password=n[a]:l.uriFieldNames.indexOf(s)>-1?i.login.uris=l.makeUriArray(n[a]):l.processKvp(i,u[a],n[a]))}l.cleanupCipher(i),e.ciphers.push(i)}}else u=n.map(function(n){return n})}),e.success=!0,e},l}(o.BaseImporter);l.PadlockCsvImporter=a},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.View=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(538);l.AttachmentView=t.AttachmentView;var u=e(115);l.CardView=u.CardView;var o=e(157);l.CipherView=o.CipherView;var i=e(179);l.FieldView=i.FieldView;var r=e(217);l.IdentityView=r.IdentityView;var a=e(216);l.LoginUriView=a.LoginUriView;var s=e(156);l.LoginView=s.LoginView;var d=e(91);l.SecureNoteView=d.SecureNoteView;var c=e(752);l.View=c.View},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(53),a=e(753),s=["ainfo","autosubmit","notesPlain","ps","scope","tags","title","uuid"],d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!l.isNullOrWhitespace(n.title)){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.title,"--"),t.notes=l.getValueOrDefault(n.notesPlain,"")+"\n",l.isNullOrWhitespace(n.number)||l.isNullOrWhitespace(n["expiry date"])||(t.type=r.CipherType.Card,t.card=new a.CardView);var u=null;for(var o in n)if(n.hasOwnProperty(o)&&!l.isNullOrWhitespace(n[o])){if(t.type===r.CipherType.Login){if(l.isNullOrWhitespace(t.login.password)&&"password"===o){t.login.password=n[o];continue}if(l.isNullOrWhitespace(t.login.username)&&"username"===o){t.login.username=n[o];continue}if((null==t.login.uris||0===t.login.uri.length)&&"urls"===o){var i=n[o].split(l.newLineRegex);t.login.uris=l.makeUriArray(i);continue}}else if(t.type===r.CipherType.Card){if(l.isNullOrWhitespace(t.card.number)&&"number"===o){t.card.number=n[o],t.card.brand=l.getCardBrand(n.number);continue}if(l.isNullOrWhitespace(t.card.code)&&"verification number"===o){t.card.code=n[o];continue}if(l.isNullOrWhitespace(t.card.cardholderName)&&"cardholder name"===o){t.card.cardholderName=n[o];continue}if(l.isNullOrWhitespace(t.card.expiration)&&"expiry date"===o&&6===n[o].length){t.card.expMonth=n[o].substr(4,2),"0"===t.card.expMonth[0]&&(t.card.expMonth=t.card.expMonth.substr(1,1)),t.card.expYear=n[o].substr(0,4);continue}if("type"===o)continue}-1!==s.indexOf(o)||o.startsWith("section:")||(null==u&&"email"===o&&(u=n[o]),l.processKvp(t,o,n[o]))}t.type===r.CipherType.Login&&!l.isNullOrWhitespace(u)&&l.isNullOrWhitespace(t.login.username)&&-1===u.indexOf("://")&&(t.login.username=u),l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.OnePasswordWinCsvImporter=d},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(115),a=e(91),s=e(53),d=e(101),c=function(n){function l(){var l=null!==n&&n.apply(this,arguments)||this;return l.result=new i.ImportResult,l}return u(l,n),l.prototype.parse=function(n){var l=this;return n.split(this.newLineRegex).forEach(function(n){if(!l.isNullOrWhitespace(n)&&"{"===n[0]){var e=JSON.parse(n),t=l.initLoginCipher();t.favorite=!(!e.openContents||!e.openContents.faveIndex),t.name=l.getValueOrDefault(e.title,"--"),"securenotes.SecureNote"===e.typeName?(t.type=s.CipherType.SecureNote,t.secureNote=new a.SecureNoteView,t.secureNote.type=d.SecureNoteType.Generic):"wallet.financial.CreditCard"===e.typeName?(t.type=s.CipherType.Card,t.card=new r.CardView):t.login.uris=l.makeUriArray(e.location),null!=e.secureContents&&(l.isNullOrWhitespace(e.secureContents.notesPlain)||(t.notes=e.secureContents.notesPlain.split(l.newLineRegex).join("\n")+"\n"),null!=e.secureContents.fields&&l.parseFields(e.secureContents.fields,t,"designation","value","name"),null!=e.secureContents.sections&&e.secureContents.sections.forEach(function(n){null!=n.fields&&l.parseFields(n.fields,t,"n","v","t")})),l.cleanupCipher(t),l.result.ciphers.push(t)}}),this.result.success=!0,this.result},l.prototype.parseFields=function(n,l,e,t,u){var o=this;n.forEach(function(n){if(null!=n[t]&&""!==n[t].toString().trim()){var i=n[t].toString(),r=null!=n[e]?n[e].toString():null;if(l.type===s.CipherType.Login){if(o.isNullOrWhitespace(l.login.username)&&"username"===r)return void(l.login.username=i);if(o.isNullOrWhitespace(l.login.password)&&"password"===r)return void(l.login.password=i);if(o.isNullOrWhitespace(l.login.totp)&&null!=r&&r.startsWith("TOTP_"))return void(l.login.totp=i)}else if(l.type===s.CipherType.Card){if(o.isNullOrWhitespace(l.card.number)&&"ccnum"===r)return l.card.number=i,void(l.card.brand=o.getCardBrand(i));if(o.isNullOrWhitespace(l.card.code)&&"cvv"===r)return void(l.card.code=i);if(o.isNullOrWhitespace(l.card.cardholderName)&&"cardholder"===r)return void(l.card.cardholderName=i);if(o.isNullOrWhitespace(l.card.expiration)&&"expiry"===r&&6===i.length)return l.card.expMonth=i.substr(4,2),"0"===l.card.expMonth[0]&&(l.card.expMonth=l.card.expMonth.substr(1,1)),void(l.card.expYear=i.substr(0,4));if("type"===r)return}var a=o.isNullOrWhitespace(n[u])?"no_name":n[u];o.processKvp(l,a,i)}})},l}(o.BaseImporter);l.OnePassword1PifImporter=c},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(53),a=e(101),s=e(91),d=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<3)){var t="Unassigned"!==l.getValueOrDefault(n[0],"Unassigned")?n[0]:null;l.processFolder(e,t);var u=l.initLoginCipher();if(u.name=l.getValueOrDefault(n[2],"--"),"Web Logins"===n[1])u.login.uris=l.makeUriArray(n[4]),u.login.username=l.getValueOrDefault(n[5]),u.login.password=l.getValueOrDefault(n[6]),u.notes=l.isNullOrWhitespace(n[3])?null:n[3].split("\\n").join("\n");else if(n.length>3){u.type=r.CipherType.SecureNote,u.secureNote=new s.SecureNoteView,u.secureNote.type=a.SecureNoteType.Generic;for(var o=3;o-1){var e=n.ccexp.split("-");e.length>1&&(l.expYear=e[0],l.expMonth=e[1],2===l.expMonth.length&&"0"===l.expMonth[0]&&(l.expMonth=l.expMonth[1]))}return l},l.prototype.parseIdentity=function(n){var l=new d.IdentityView;return l.title=this.getValueOrDefault(n.title),l.firstName=this.getValueOrDefault(n.firstname),l.middleName=this.getValueOrDefault(n.middlename),l.lastName=this.getValueOrDefault(n.lastname),l.username=this.getValueOrDefault(n.username),l.company=this.getValueOrDefault(n.company),l.ssn=this.getValueOrDefault(n.ssn),l.address1=this.getValueOrDefault(n.address1),l.address2=this.getValueOrDefault(n.address2),l.address3=this.getValueOrDefault(n.address3),l.city=this.getValueOrDefault(n.city),l.state=this.getValueOrDefault(n.state),l.postalCode=this.getValueOrDefault(n.zip),l.country=this.getValueOrDefault(n.country),l.email=this.getValueOrDefault(n.email),l.phone=this.getValueOrDefault(n.phone),this.isNullOrWhitespace(l.title)||(l.title=l.title.charAt(0).toUpperCase()+l.title.slice(1)),l},l.prototype.parseSecureNote=function(n,l){var e=this.splitNewLine(n.extra),t=!1;if(e.length){var u=e[0].split(":");if(u.length>1&&"NoteType"===u[0]&&("Credit Card"===u[1]||"Address"===u[1])){if("Credit Card"===u[1]){var o=this.parseSecureNoteMapping(e,{Number:"number","Name on Card":"cardholderName","Security Code":"code"});l.type=f.CipherType.Card,l.card=o[0],l.notes=o[1]}else if("Address"===u[1]){o=this.parseSecureNoteMapping(e,{Title:"title","First Name":"firstName","Last Name":"lastName","Middle Name":"middleName",Company:"company","Address 1":"address1","Address 2":"address2","Address 3":"address3","City / Town":"city",State:"state","Zip / Postal Code":"postalCode",Country:"country","Email Address":"email",Username:"username"});l.type=f.CipherType.Identity,l.identity=o[0],l.notes=o[1]}t=!0}}t||(l.secureNote=new p.SecureNoteView,l.secureNote.type=v.SecureNoteType.Generic,l.notes=this.getValueOrDefault(n.extra))},l.prototype.parseSecureNoteMapping=function(n,l){var e=this,t=null,u={};return n.forEach(function(n){var o=n.split(":");o.length<1||e.isNullOrWhitespace(o[0])||e.isNullOrWhitespace(o[1])||"NoteType"===o[0]||("Notes"===o[0]?e.isNullOrWhitespace(t)?t=o[1]:t+="\n"+o[1]:l.hasOwnProperty(o[0])?u[l[o[0]]]=o[1]:(e.isNullOrWhitespace(t)?t="":t+="\n",t+=o[0]+": "+o[1]))}),[u,t]},l}(o.BaseImporter);l.LastPassCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<6)){l.processFolder(e,n[0]);var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[5])+"\n",t.name=l.getValueOrDefault(n[1],"--"),t.login.username=l.getValueOrDefault(n[2]),t.login.password=l.getValueOrDefault(n[3]),t.login.uris=l.makeUriArray(n[4]),n.length>7)for(var u=7;u Root > Group");return null==e?(this.result.errorMessage="Missing `KeePassFile > Root > Group` node.",this.result.success=!1,this.result):(this.traverse(e,!0,""),this.organization&&this.moveFoldersToCollections(this.result),this.result.success=!0,this.result)},l.prototype.traverse=function(n,l,e){var t=this,u=this.result.folders.length,o=e;if(!l){""!==o&&(o+="/");var i=this.querySelectorDirectChild(n,"Name");o+=null==i?"-":i.textContent;var a=new r.FolderView;a.name=o,this.result.folders.push(a)}this.querySelectorAllDirectChild(n,"Entry").forEach(function(n){var e=t.result.ciphers.length,o=t.initLoginCipher();t.querySelectorAllDirectChild(n,"String").forEach(function(n){var l=t.querySelectorDirectChild(n,"Value"),e=null!=l?l.textContent:null;if(!t.isNullOrWhitespace(e)){var u=t.querySelectorDirectChild(n,"Key"),i=null!=u?u.textContent:null;"URL"===i?o.login.uris=t.makeUriArray(e):"UserName"===i?o.login.username=e:"Password"===i?o.login.password=e:"Title"===i?o.name=e:"Notes"===i?o.notes+=e+"\n":t.processKvp(o,i,e)}}),t.cleanupCipher(o),t.result.ciphers.push(o),l||t.result.folderRelationships.push([e,u])}),this.querySelectorAllDirectChild(n,"Group").forEach(function(n){t.traverse(n,!1,o)})},l}(o.BaseImporter);l.KeePass2XmlImporter=a},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=JSON.parse(n);if(null==t||0===Object.keys(t).length)return e.success=!1,e;var u=function(n){if(!t.hasOwnProperty(n)||o.isNullOrWhitespace(n)||0===t[n].length)return"continue";t[n].forEach(function(t){if(!l.isNullOrWhitespace(t.display_name)&&0===t.display_name.indexOf("http")){l.processFolder(e,n);var u=l.initLoginCipher();if(u.name=t.display_name.replace("http://","").replace("https://",""),u.name.length>30&&(u.name=u.name.substring(0,30)),u.login.password=l.getValueOrDefault(t.secret),u.login.uris=l.makeUriArray(t.display_name),null!=t.attributes)for(var o in u.login.username=null!=t.attributes?l.getValueOrDefault(t.attributes.username_value):null,t.attributes)t.attributes.hasOwnProperty(o)&&"username_value"!==o&&"xdg:schema"!==o&&l.processKvp(u,o,t.attributes[o]);l.convertToNoteIfNeeded(u),l.cleanupCipher(u),e.ciphers.push(u)}})},o=this;for(var r in t)u(r);return this.organization&&this.moveFoldersToCollections(e),e.success=!0,e},l}(o.BaseImporter);l.GnomeJsonImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(l.nameFromUrl(n.hostname),"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.hostname),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.FirefoxCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(53),a=e(101),s=e(115),d=e(91),c=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);if(null==t)return e.success=!1,e;var u=!0;return t.forEach(function(n){if(n.length<2||u&&"Title"===n[0])u=!1;else{var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),(2===n.length||n.indexOf("Username")<0&&n.indexOf("Password")<0&&n.indexOf("Email")&&n.indexOf("URL")<0)&&(t.type=r.CipherType.SecureNote,t.secureNote=new d.SecureNoteView,t.secureNote.type=a.SecureNoteType.Generic),n.indexOf("Cardholder")>-1&&n.indexOf("Number")>-1&&n.indexOf("Expiry date")>-1&&(t.type=r.CipherType.Card,t.card=new s.CardView),n.length>2&&n.length%2==0)for(var o=0;o-1?t.login.password=l.getValueOrDefault(o.value):null==t.login.username&&l.usernameFieldNames.indexOf(i)>-1?t.login.username=l.getValueOrDefault(o.value):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(i)>-1?t.login.uris=l.makeUriArray(o.value):l.processKvp(t,o.label,o.value)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.ClipperzHtmlImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,"--"),t.login.username=l.getValueOrDefault(n.username),t.login.password=l.getValueOrDefault(n.password),t.login.uris=l.makeUriArray(n.url),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.ChromeCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){"null"===n.label&&(n.label=null);var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.label,l.getValueOrDefault(l.nameFromUrl(n.domain),"--")),t.login.uris=l.makeUriArray(n.domain),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.email)&&!l.isNullOrWhitespace(n.username)?t.login.username=n.username:(t.login.username=l.getValueOrDefault(n.email),t.notes=l.getValueOrDefault(n.username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.BlurCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=e(157),a=e(177),s=e(179),d=e(156),c=e(91),p=e(53),f=e(219),v=e(101),h=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){l.organization&&!l.isNullOrWhitespace(n.collections)?n.collections.split(",").forEach(function(n){for(var l=!0,t=e.collections.length,u=0;ui+2&&(h.value=u[o].substr(i+2)),t.fields.push(h)}}switch(null!=n.type?n.type.toLowerCase():null){case"login":case null:t.type=p.CipherType.Login,t.login=new d.LoginView,t.login.totp=l.getValueOrDefault(n.login_totp||n.totp),t.login.username=l.getValueOrDefault(n.login_username||n.username),t.login.password=l.getValueOrDefault(n.login_password||n.password);var g=l.parseSingleRowCsv(n.login_uri||n.uri);t.login.uris=l.makeUriArray(g);break;case"note":t.type=p.CipherType.SecureNote,t.secureNote=new c.SecureNoteView,t.secureNote.type=v.SecureNoteType.Generic}e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.BitwardenCsvImporter=h},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!0);return null==t?(e.success=!1,e):(t.forEach(function(n){var t=l.initLoginCipher();t.name=l.getValueOrDefault(n.name,l.getValueOrDefault(l.nameFromUrl(n.website),"--")),t.login.uris=l.makeUriArray(n.website),t.login.password=l.getValueOrDefault(n.password),l.isNullOrWhitespace(n.username)&&!l.isNullOrWhitespace(n.secondary_username)?t.login.username=n.secondary_username:(t.login.username=l.getValueOrDefault(n.username),t.notes=l.getValueOrDefault(n.secondary_username)),l.cleanupCipher(t),e.ciphers.push(t)}),e.success=!0,e)},l}(o.BaseImporter);l.AviraCsvImporter=r},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=e(32),i=e(31),r=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l.prototype.parse=function(n){var l=this,e=new i.ImportResult,t=this.parseCsv(n,!1);return null==t?(e.success=!1,e):(t.forEach(function(n){if(!(n.length<2)){var t=l.initLoginCipher();if(t.notes=l.getValueOrDefault(n[n.length-1]),t.name=l.getValueOrDefault(n[0],"--"),n.length>2&&n.length%2==0)for(var u=0;u-1?t.login.password=l.getValueOrDefault(o):null==t.login.username&&l.usernameFieldNames.indexOf(r)>-1?t.login.username=l.getValueOrDefault(o):(null==t.login.uris||0===t.login.uris.length)&&l.uriFieldNames.indexOf(r)>-1?t.login.uris=l.makeUriArray(o):l.processKvp(t,i,o)}}l.convertToNoteIfNeeded(t),l.cleanupCipher(t),e.ciphers.push(t)}}),e.success=!0,e)},l}(o.BaseImporter);l.AscendoCsvImporter=r},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.folders=[],this.folderRelationships=[]}}();l.ImportCiphersRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(40),r=e(37),a=e(2),s=e(7),d=e(18),c=e(17),p=e(214),f=e(3),v=e(9),h=e(26),g=e(50),m=e(4),y=e(10),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.id),n(l,2,0,l.context.$implicit.id)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,8,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"option",[["disabled",""],["value","-"]],null,null,null,null,null)),t.ɵdid(3,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{value:[0,"value"]},null),t.ɵdid(4,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{value:[0,"value"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(7,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,"-");n(l,4,0,"-"),n(l,7,0,e.importOptions)},null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/export-your-data/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/export-your-data/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-lastpass/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-lastpass/"])),(n()(),t.ɵted(-1,null,["\n "]))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePassX desktop application, navigate to "Database" → "Export to CSV file" and save the CSV file.\n ']))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Avira web vault, go to "Settings" → "My Data" → "Export data" and save the CSV file.\n ']))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n In the Blur web vault, click your username at the top and go to "Settings" → "Export Data", then click "Export CSV"\n for your "Accounts".\n ']))],null,null)}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaveInCloud desktop application, navigate to "File" → "Export" → "As XML" and save the XML file.\n ']))],null,null)}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to "Settings" →\n "Export" button and save the file "As CSV".\n ']))],null,null)}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the KeePass 2 desktop application, navigate to "File" → "Export" and select the "KeePass XML (2.x)" option.\n ']))],null,null)}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Universal Password Manager desktop application, navigate to "Database" → "Export" and save the CSV file.\n ']))],null,null)}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to "Settings". Click\n the "Export accounts" button to save the CSV file.\n ']))],null,null)}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Meldium web vault, navigate to "Settings". Locate the "Export data" function and click "Show me my data" to save\n the CSV file.\n ']))],null,null)}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to "Backup" (top right) and find the "Export to .csv File"\n option. Click "Export Now" to save the CSV file.\n ']))],null,null)}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"span",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n The process is exactly the same as importing from Google Chrome.\n "]))],null,null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(3,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(5,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-chrome/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-chrome/"])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,"chromecsv"!==l.component.format)},null)}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Use the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["FF Password Exporter"])),(n()(),t.ɵted(-1,null,[" application to export your passwords to a CSV file.\n "]))],null,null)}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n See detailed instructions on our help site at\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://help.bitwarden.com/article/import-from-1password/"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["https://help.bitwarden.com/article/import-from-1password/"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Dragon desktop application, navigate to "File" → "Export" → "To XML". In the dialog that pops\n up select "All Rows" and check all fields. Click the "Export" button and save the XML file.\n ']))],null,null)}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Enpass desktop application, navigate to "File" → "Export" → "As CSV". Select "OK" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n ']))],null,null)}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Safe desktop application, navigate to "File" → "Export To" → "XML format..." and save the XML\n file.\n ']))],null,null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Dashlane desktop application, navigate to "File" → "Export" → "Unsecured archive (readable) in CSV format"\n and save the CSV file.\n ']))],null,null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the mSecure desktop application, navigate to "File" → "Export" → "CSV File..." and save the CSV file.\n ']))],null,null)}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Sticky Password desktop application, navigate to "Menu" (top right) → "Export" → "Export all". Select\n the unencrypted format XML option and save the XML file.\n ']))],null,null)}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the True Key desktop application, click the gear icon (top right) and then navigate to "App Settings". Click the "Export"\n button, enter your password and save the CSV file.\n ']))],null,null)}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to "Data" → "Export". Click the "download HTML+JSON" button to save the HTML file.\n ']))],null,null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the RoboForm Editor desktop application, navigate to "RoboForm" (top left) → "Options" → "Account & Data"\n and click the "Export" button. Select all of your data, change the "Format" to "CSV file" and then click the\n "Export" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n ']))],null,null)}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Passbolt web vault and navigate to the "Passwords" listing. Select all of the passwords you would like to export\n and click the "Export" button at the top of the listing. Choose the "csv (lastpass)" export format and click\n the "Export" button.\n ']))],null,null)}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Ascendo DataVault desktop application, navigate to "Tools" → "Export". In the dialog that pops up, select\n the "All Items (DVX, CSV)" option. Click the "Ok" button to save the CSV file.\n ']))],null,null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Boss desktop application, navigate to "File" → "Export data" → "Password Boss JSON - not encrypted"\n and save the JSON file.\n ']))],null,null)}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Log into the Zoho web vault (vault.zoho.com). Navigate to "Tools" → "Export Secrets". Select "All Secrets" and click\n the "Zoho Vault Format CSV" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n '])),(n()(),t.ɵeld(2,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["zoho_export.csv"])),(n()(),t.ɵted(-1,null,[".\n "]))],null,null)}function X(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to "Export"\n → "Export as CSV" and save the CSV file.\n ']))],null,null)}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the PassKeep mobile app, navigate to "Backup/Restore". Locate the "CSV Backup/Restore" section and click "Backup to\n CSV" to save the CSV file.\n ']))],null,null)}function nn(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,16,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n "])),(n()(),t.ɵeld(2,0,null,null,1,"a",[["href","https://bit.ly/2sMldAI"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["GNOME Keyring Import/Export"])),(n()(),t.ɵted(-1,null,[" python script to your desktop as\n "])),(n()(),t.ɵeld(5,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["pw_helper.py"])),(n()(),t.ɵted(-1,null,[". Open terminal and run\n "])),(n()(),t.ɵeld(8,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["chmod +rx Desktop/pw_helper.py"])),(n()(),t.ɵted(-1,null,[" and then\n "])),(n()(),t.ɵeld(11,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["python Desktop/pw_helper.py export Desktop/my_passwords.json"])),(n()(),t.ɵted(-1,null,[". Then upload the resulting\n "])),(n()(),t.ɵeld(14,0,null,null,1,"code",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["my_passwords.json"])),(n()(),t.ɵted(-1,null,[" file here to Bitwarden.\n "]))],null,null)}function ln(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,['\n Using the Password Agent desktop application navigate to "File" → "Export", select the "Fields to export" button and\n check all of the fields, change the "Output format" to "CSV", and then click the "Start" button to save the CSV\n file.\n ']))],null,null)}function en(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,98,"app-callout",[["type","info"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,r.CalloutComponent,[a.I18nService],{type:[0,"type"],title:[1,"title"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,R)),t.ɵdid(4,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(7,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,I)),t.ɵdid(10,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,A)),t.ɵdid(13,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,E)),t.ɵdid(16,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,O)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,N)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,T)),t.ɵdid(25,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,k)),t.ɵdid(28,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,V)),t.ɵdid(31,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,P)),t.ɵdid(34,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,M)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,D)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,U)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,F)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,L)),t.ɵdid(49,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,G)),t.ɵdid(52,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,q)),t.ɵdid(55,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,z)),t.ɵdid(58,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,j)),t.ɵdid(61,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,B)),t.ɵdid(64,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,K)),t.ɵdid(67,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,H)),t.ɵdid(70,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,$)),t.ɵdid(73,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,W)),t.ɵdid(76,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Y)),t.ɵdid(79,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Z)),t.ɵdid(82,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,J)),t.ɵdid(85,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,X)),t.ɵdid(88,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,Q)),t.ɵdid(91,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,nn)),t.ɵdid(94,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,ln)),t.ɵdid(97,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"info",t.ɵinlineInterpolate(1,"",e.getFormatInstructionTitle(),"")),n(l,4,0,"bitwardencsv"===e.format),n(l,7,0,"lastpasscsv"===e.format),n(l,10,0,"keepassxcsv"===e.format),n(l,13,0,"aviracsv"===e.format),n(l,16,0,"blurcsv"===e.format),n(l,19,0,"safeincloudxml"===e.format),n(l,22,0,"padlockcsv"===e.format),n(l,25,0,"keepass2xml"===e.format),n(l,28,0,"upmcsv"===e.format),n(l,31,0,"saferpasscsv"===e.format),n(l,34,0,"meldiumcsv"===e.format),n(l,37,0,"keepercsv"===e.format),n(l,40,0,"chromecsv"===e.format||"operacsv"===e.format||"vivaldicsv"===e.format),n(l,43,0,"firefoxcsv"===e.format),n(l,46,0,"1password1pif"===e.format||"1passwordwincsv"===e.format),n(l,49,0,"passworddragonxml"===e.format),n(l,52,0,"enpasscsv"===e.format),n(l,55,0,"pwsafexml"===e.format),n(l,58,0,"dashlanecsv"===e.format),n(l,61,0,"msecurecsv"===e.format),n(l,64,0,"stickypasswordxml"===e.format),n(l,67,0,"truekeycsv"===e.format),n(l,70,0,"clipperzhtml"===e.format),n(l,73,0,"roboformcsv"===e.format),n(l,76,0,"passboltcsv"===e.format),n(l,79,0,"ascendocsv"===e.format),n(l,82,0,"passwordbossjson"===e.format),n(l,85,0,"zohovaultcsv"===e.format),n(l,88,0,"splashidcsv"===e.format),n(l,91,0,"passkeepcsv"===e.format),n(l,94,0,"gnomejson"===e.format),n(l,97,0,"passwordagentcsv"===e.format)},null)}function tn(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,9).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,9).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(9,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(11,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(12,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,27,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,24,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,21,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"label",[["for","type"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["1. ",""])),t.ɵppd(22,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,14,"select",[["class","form-control"],["id","type"],["name","Format"],["required",""]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,25).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,25).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.format=e)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(26,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(29,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(31,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(34,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(37,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,en)),t.ɵdid(44,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(46,0,null,null,13,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,10,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,7,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["2. ",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(61,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(63,0,null,null,2,"label",[["for","fileContents"]],null,null,null,null,null)),(n()(),t.ɵted(64,null,["",""])),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,5,"textarea",[["class","form-control"],["id","fileContents"],["name","FileContents"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,68)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,68).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,68)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,68)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.fileContents=e)&&u);return u},null,null)),t.ɵdid(68,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(70,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(72,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(75,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(77,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(80,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(81,null,["",""])),t.ɵppd(82,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.formPromise);n(l,26,0,"");n(l,29,0,"Format",e.format),n(l,34,0,e.featuredImportOptions),n(l,37,0,e.importOptions&&e.importOptions.length),n(l,44,0,e.format);n(l,70,0,"FileContents",e.fileContents)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"importData"))),n(l,8,0,t.ɵnov(l,11).ngClassUntouched,t.ɵnov(l,11).ngClassTouched,t.ɵnov(l,11).ngClassPristine,t.ɵnov(l,11).ngClassDirty,t.ɵnov(l,11).ngClassValid,t.ɵnov(l,11).ngClassInvalid,t.ɵnov(l,11).ngClassPending),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l,0),"selectFormat"))),n(l,24,0,t.ɵnov(l,26).required?"":null,t.ɵnov(l,31).ngClassUntouched,t.ɵnov(l,31).ngClassTouched,t.ɵnov(l,31).ngClassPristine,t.ɵnov(l,31).ngClassDirty,t.ɵnov(l,31).ngClassValid,t.ɵnov(l,31).ngClassInvalid,t.ɵnov(l,31).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"selectImportFile"))),n(l,64,0,t.ɵunv(l,64,0,n(l,65,0,t.ɵnov(l,0),"orCopyPasteFileContents"))),n(l,67,0,t.ɵnov(l,72).ngClassUntouched,t.ɵnov(l,72).ngClassTouched,t.ɵnov(l,72).ngClassPristine,t.ɵnov(l,72).ngClassDirty,t.ɵnov(l,72).ngClassValid,t.ɵnov(l,72).ngClassInvalid,t.ɵnov(l,72).ngClassPending),n(l,75,0,t.ɵnov(l,8).loading),n(l,77,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"loading")),"")),n(l,81,0,t.ɵunv(l,81,0,n(l,82,0,t.ɵnov(l,0),"importData")))})}function un(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-import",[],null,null,null,tn,C)),t.ɵdid(1,114688,null,0,p.ImportComponent,[a.I18nService,f.Angulartics2,v.ToasterService,h.CipherService,g.FolderService,m.ApiService,y.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ImportComponent=C,l.View_ImportComponent_0=tn,l.View_ImportComponent_Host_0=un;var on=t.ɵccf("app-import",p.ImportComponent,un,{},{},[]);l.ImportComponentNgFactory=on},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(10),r=e(5),a=e(261),s=t.ɵcrt({encapsulation:2,styles:[],data:{}});function d(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,65,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,62,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,53,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,32,"div",[["class","card mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,25,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","generator"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","import"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"a",[["class","list-group-item"],["routerLink","export"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,32).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(32,671744,[[6,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(33,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,16,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(44,null,["",""])),t.ɵppd(45,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,9,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,6,"a",[["class","list-group-item"],["routerLink","breach-report"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,50).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(50,671744,[[8,4]],0,i.RouterLinkWithHref,[i.Router,i.ActivatedRoute,r.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(51,1720320,null,2,i.RouterLinkActive,[i.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(54,null,["\n ","\n "])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(63,212992,null,0,i.RouterOutlet,[i.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,16,0,"generator");n(l,17,0,"active");n(l,24,0,"import");n(l,25,0,"active");n(l,32,0,"export");n(l,33,0,"active");n(l,50,0,"breach-report");n(l,51,0,"active"),n(l,63,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"tools"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"passwordGenerator"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"importData"))),n(l,31,0,t.ɵnov(l,32).target,t.ɵnov(l,32).href),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"exportVault"))),n(l,44,0,t.ɵunv(l,44,0,n(l,45,0,t.ɵnov(l,0),"reports"))),n(l,49,0,t.ɵnov(l,50).target,t.ɵnov(l,50).href),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"dataBreachReport")))})}function c(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-tools",[],null,null,null,d,s)),t.ɵdid(1,49152,null,0,a.ToolsComponent,[],null,null)],null,null)}l.RenderType_ToolsComponent=s,l.View_ToolsComponent_0=d,l.View_ToolsComponent_Host_0=c;var p=t.ɵccf("app-tools",a.ToolsComponent,c,{},{},[]);l.ToolsComponentNgFactory=p},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.OrganizationCreateRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(5),a=e(269),s=e(127),d=e(2),c=e(8),p=e(7),f=e(262),v=e(4),h=e(3),g=e(9),m=e(20),y=e(10),C=e(66),b=t.ɵcrt({encapsulation:2,styles:[],data:{}});function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(10,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFileOrg"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"))),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_organization_license.json"))),n(l,25,0,t.ɵnov(l,6).loading),n(l,27,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,12,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","businessName"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,5,"input",[["class","form-control"],["id","businessName"],["name","BusinessName"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.businessName=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(11,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(13,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,"BusinessName",l.component.businessName)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"businessName"))),n(l,8,0,t.ɵnov(l,13).ngClassUntouched,t.ɵnov(l,13).ngClassTouched,t.ɵnov(l,13).ngClassPristine,t.ɵnov(l,13).ngClassDirty,t.ɵnov(l,13).ngClassValid,t.ɵnov(l,13).ngClassInvalid,t.ɵnov(l,13).ngClassPending)})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,29,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFree"],["name","PlanType"],["type","radio"],["value","free"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,18,"label",[["class","form-check-label"],["for","planFree"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","free");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFree"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFree","1"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"limitedUsers","2"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"limitedCollections","2"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"freeForever")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,47,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","planFamilies"],["name","PlanType"],["type","radio"],["value","families"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,36,"label",[["class","form-check-label"],["for","planFamilies"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵeld(13,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(18,null,["• ",""])),t.ɵppd(19,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(22,null,["• ",""])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(26,null,["• ",""])),t.ɵppd(27,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(30,null,["• ",""])),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["• ",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(38,null,["• ",""])),t.ɵppd(39,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(41,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(42,null,[""," /",", ",""])),t.ɵppd(43,2),t.ɵppd(44,1),t.ɵppd(45,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"PlanType","families");n(l,6,0,"PlanType",e.plan)},function(n,l){n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"planNameFamilies"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l.parent.parent,0),"planDescFamilies"))),n(l,18,0,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent,0),"addShareLimitedUsers","5"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent.parent,0),"createUnlimitedCollections"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,30,0,t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,0),"onPremHostingOptional"))),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l.parent.parent,0),"priorityCustomerSupport"))),n(l,38,0,t.ɵunv(l,38,0,n(l,39,0,t.ɵnov(l.parent.parent,0),"xDayFreeTrial","7"))),n(l,42,0,t.ɵunv(l,42,0,n(l,43,0,t.ɵnov(l.parent.parent,1),1,"$")),t.ɵunv(l,42,1,n(l,44,0,t.ɵnov(l.parent.parent,0),"month")),t.ɵunv(l,42,2,n(l,45,0,t.ɵnov(l.parent.parent,0),"includesXUsers",5)))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,23,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,20,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,9,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","1"],["name","AdditionalSeats"],["required",""],["type","number"]],[[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,15)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,15).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,15)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,15)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,16).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,16).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(15,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(16,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵdid(17,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(20,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(22,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,17,0,"");n(l,20,0,"AdditionalSeats",e.additionalSeats)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"users"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"userSeats"))),n(l,14,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,14,0,n(l,23,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),""),t.ɵnov(l,17).required?"":null,t.ɵnov(l,22).ngClassUntouched,t.ɵnov(l,22).ngClassTouched,t.ɵnov(l,22).ngClassPristine,t.ɵnov(l,22).ngClassDirty,t.ɵnov(l,22).ngClassValid,t.ɵnov(l,22).ngClassInvalid,t.ɵnov(l,22).ngClassPending),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsHowManyDesc")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["for","additionalSeats"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,7,"input",[["class","form-control"],["id","additionalSeats"],["max","100000"],["min","0"],["name","AdditionalSeats"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,10).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,10).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalSeats=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(12,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(14,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(18,null,["",""])),t.ɵppd(19,2),t.ɵppd(20,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,12,0,"AdditionalSeats",l.component.additionalSeats)},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"additionalUserSeats"))),n(l,8,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,0,n(l,15,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsDesc")),""),t.ɵnov(l,14).ngClassUntouched,t.ɵnov(l,14).ngClassTouched,t.ɵnov(l,14).ngClassPristine,t.ɵnov(l,14).ngClassDirty,t.ɵnov(l,14).ngClassValid,t.ɵnov(l,14).ngClassInvalid,t.ɵnov(l,14).ngClassPending),n(l,18,0,t.ɵunv(l,18,0,n(l,20,0,t.ɵnov(l.parent.parent.parent,0),"userSeatsAdditionalDesc",e.plans[e.plan].baseSeats,t.ɵunv(l,18,0,n(l,19,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")))))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," ×12 "," = ","\n /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1),t.ɵppd(5,2),t.ɵppd(6,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"basePrice")),t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].basePrice,"$")),t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),t.ɵunv(l,1,3,n(l,5,0,t.ɵnov(l.parent.parent.parent,1),e.baseTotal(!0),"$")),t.ɵunv(l,1,4,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"year")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"additionalUsers")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"users")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," ×12 "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),t.ɵppd(10,2),t.ɵppd(11,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component;n(l,7,0,e.additionalSeats||0,t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent,1),e.plans[e.plan].seatPrice,"$")),t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent,0),"monthAbbr")),t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent,1),e.seatTotal(!0),"$")),t.ɵunv(l,7,4,n(l,11,0,t.ɵnov(l.parent.parent.parent,0),"year")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ",": "," /","\n "])),t.ɵppd(2,1),t.ɵppd(3,2),t.ɵppd(4,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent,0),"basePrice")),t.ɵunv(l,1,1,n(l,3,0,t.ɵnov(l.parent.parent.parent.parent,1),e.baseTotal(!1),"$")),t.ɵunv(l,1,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"month")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"additionalUsers")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",":"])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent.parent.parent,0),"users")))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(6,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(7,null,["\n "," × "," = "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,2),t.ɵppd(10,1)],function(n,l){var e=l.component;n(l,3,0,e.plans[e.plan].baseSeats),n(l,6,0,!e.plans[e.plan].baseSeats)},function(n,l){var e=l.component;n(l,7,0,e.additionalSeats||0,t.ɵunv(l,7,1,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,1),e.plans[e.plan].monthlySeatPrice,"$")),t.ɵunv(l,7,2,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,1),e.seatTotal(!1),"$")),t.ɵunv(l,7,3,n(l,10,0,t.ɵnov(l.parent.parent.parent.parent,0),"month")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,26,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,6,"input",[["class","form-check-input"],["id","intervalMonthly"],["name","BillingInterval"],["type","radio"],["value","month"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,3)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,3).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,3)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,3)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,4).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,4).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.interval=e)&&u);return u},null,null)),t.ɵdid(3,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(4,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(6,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(8,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,15,"label",[["class","form-check-label"],["for","intervalMonthly"]],null,null,null,null,null)),(n()(),t.ɵted(11,null,["\n ","\n "])),t.ɵppd(12,1),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(14,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(17,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"small",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["\n ",": "," × "," = "," /","\n "])),t.ɵppd(21,1),t.ɵppd(22,2),t.ɵppd(23,2),t.ɵppd(24,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,4,0,"BillingInterval","month");n(l,6,0,"BillingInterval",e.interval),n(l,14,0,e.plans[e.plan].monthlyBasePrice),n(l,17,0,!e.plans[e.plan].noAdditionalSeats)},function(n,l){var e=l.component;n(l,2,0,t.ɵnov(l,8).ngClassUntouched,t.ɵnov(l,8).ngClassTouched,t.ɵnov(l,8).ngClassPristine,t.ɵnov(l,8).ngClassDirty,t.ɵnov(l,8).ngClassValid,t.ɵnov(l,8).ngClassInvalid,t.ɵnov(l,8).ngClassPending),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent.parent,0),"monthly"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,20,2,n(l,22,0,t.ɵnov(l.parent.parent.parent,1),e.storageGb.monthlyPrice,"$")),t.ɵunv(l,20,3,n(l,23,0,t.ɵnov(l.parent.parent.parent,1),e.additionalStorageTotal(!1),"$")),t.ɵunv(l,20,4,n(l,24,0,t.ɵnov(l.parent.parent.parent,0),"month")))})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,94,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(10,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,21)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,21).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,21)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,21)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,22).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,22).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(21,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(22,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(24,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(26,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(30,null,["",""])),t.ɵppd(31,2),t.ɵppd(32,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,27,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(42,0,null,null,6,"input",[["class","form-check-input"],["id","intervalAnnually"],["name","BillingInterval"],["type","radio"],["value","year"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,43)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,43).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,43)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,43)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,44).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,44).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.interval=e)&&u);return u},null,null)),t.ɵdid(43,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(44,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(46,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(48,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,16,"label",[["class","form-check-label"],["for","intervalAnnually"]],null,null,null,null,null)),(n()(),t.ɵted(51,null,["\n ","\n "])),t.ɵppd(52,1),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(54,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(57,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(59,0,null,null,6,"small",[],null,null,null,null,null)),(n()(),t.ɵted(60,null,["\n ",": "," × "," ×12 "," = "," /","\n "])),t.ɵppd(61,1),t.ɵppd(62,2),t.ɵppd(63,1),t.ɵppd(64,2),t.ɵppd(65,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",":"])),t.ɵppd(78,1),(n()(),t.ɵted(79,null,[" "," /","\n "])),t.ɵppd(80,2),t.ɵppd(81,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(83,0,null,null,3,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(84,null,["",""])),t.ɵppd(85,1),t.ɵppd(86,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(88,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(89,null,["",""])),t.ɵppd(90,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(92,0,null,null,1,"app-payment",[],null,null,null,a.View_PaymentComponent_0,a.RenderType_PaymentComponent)),t.ɵdid(93,245760,[[1,4]],0,s.PaymentComponent,[d.I18nService,c.PlatformUtilsService],{hidePaypal:[0,"hidePaypal"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,!e.plans[e.plan].noAdditionalSeats&&!e.plans[e.plan].baseSeats),n(l,10,0,!e.plans[e.plan].noAdditionalSeats&&e.plans[e.plan].baseSeats);n(l,24,0,"AdditionalStorageGb",e.additionalStorage);n(l,44,0,"BillingInterval","year");n(l,46,0,"BillingInterval",e.interval),n(l,54,0,e.plans[e.plan].annualBasePrice),n(l,57,0,!e.plans[e.plan].noAdditionalSeats),n(l,70,0,e.plans[e.plan].monthlySeatPrice);n(l,93,0,!0)},function(n,l){var e=l.component;n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l.parent.parent,0),"addons"))),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb"))),n(l,20,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,20,0,n(l,27,0,t.ɵnov(l.parent.parent,0),"additionalStorageGbDesc")),""),t.ɵnov(l,26).ngClassUntouched,t.ɵnov(l,26).ngClassTouched,t.ɵnov(l,26).ngClassPristine,t.ɵnov(l,26).ngClassDirty,t.ɵnov(l,26).ngClassValid,t.ɵnov(l,26).ngClassInvalid,t.ɵnov(l,26).ngClassPending),n(l,30,0,t.ɵunv(l,30,0,n(l,32,0,t.ɵnov(l.parent.parent,0),"additionalStorageDesc","1 GB",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$"))))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent.parent,0),"summary"))),n(l,42,0,t.ɵnov(l,48).ngClassUntouched,t.ɵnov(l,48).ngClassTouched,t.ɵnov(l,48).ngClassPristine,t.ɵnov(l,48).ngClassDirty,t.ɵnov(l,48).ngClassValid,t.ɵnov(l,48).ngClassInvalid,t.ɵnov(l,48).ngClassPending),n(l,51,0,t.ɵunv(l,51,0,n(l,52,0,t.ɵnov(l.parent.parent,0),"annually"))),n(l,60,0,t.ɵunv(l,60,0,n(l,61,0,t.ɵnov(l.parent.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,60,2,n(l,62,0,t.ɵnov(l.parent.parent,1),e.storageGb.price,"$")),t.ɵunv(l,60,3,n(l,63,0,t.ɵnov(l.parent.parent,0),"monthAbbr")),t.ɵunv(l,60,4,n(l,64,0,t.ɵnov(l.parent.parent,1),e.additionalStorageTotal(!0),"$")),t.ɵunv(l,60,5,n(l,65,0,t.ɵnov(l.parent.parent,0),"year"))),n(l,77,0,t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l.parent.parent,0),"total"))),n(l,79,0,t.ɵunv(l,79,0,n(l,80,0,t.ɵnov(l.parent.parent,1),e.total,"USD $")),t.ɵunv(l,79,1,n(l,81,0,t.ɵnov(l.parent.parent,0),e.interval))),n(l,84,0,t.ɵunv(l,84,0,n(l,86,0,t.ɵnov(l.parent.parent,0),"paymentChargedWithTrial",t.ɵunv(l,84,0,n(l,85,0,t.ɵnov(l.parent.parent,0),e.interval))))),n(l,89,0,t.ɵunv(l,89,0,n(l,90,0,t.ɵnov(l.parent.parent,0),"paymentInformation")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,198,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,33,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","name"],["name","Name"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.name=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(23,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(25,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,14,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","billingEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,7,"input",[["class","form-control"],["id","billingEmail"],["name","BillingEmail"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.billingEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(41,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,12,"div",[["class","form-group form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,5,"input",[["class","form-check-input"],["id","ownedBusiness"],["name","OwnedBusiness"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,48).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,48).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.ownedBusiness=e)&&u);"change"===l&&(u=!1!==o.changedOwnedBusiness()&&u);return u},null,null)),t.ɵdid(48,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(50,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(52,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,2,"label",[["class","form-check-label"],["for","ownedBusiness"]],null,null,null,null,null)),(n()(),t.ɵted(55,null,["",""])),t.ɵppd(56,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(60,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(63,null,["",""])),t.ɵppd(64,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(67,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,_)),t.ɵdid(70,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,46,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,6,"input",[["class","form-check-input"],["id","planTeams"],["name","PlanType"],["type","radio"],["value","teams"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,75)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,75).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,75)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,75)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,76).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,76).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(75,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(76,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(78,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(80,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(82,0,null,null,35,"label",[["class","form-check-label"],["for","planTeams"]],null,null,null,null,null)),(n()(),t.ɵted(83,null,["\n ","\n "])),t.ɵppd(84,1),(n()(),t.ɵeld(85,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(86,null,["",""])),t.ɵppd(87,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(89,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(90,null,["• ",""])),t.ɵppd(91,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(93,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(94,null,["• ",""])),t.ɵppd(95,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(97,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(98,null,["• ",""])),t.ɵppd(99,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(101,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(102,null,["• ",""])),t.ɵppd(103,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(105,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(106,null,["• ",""])),t.ɵppd(107,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(109,0,null,null,7,"span",[],null,null,null,null,null)),(n()(),t.ɵted(110,null,[""," /",", ",", ","\n "," /",""])),t.ɵppd(111,2),t.ɵppd(112,1),t.ɵppd(113,2),t.ɵppd(114,1),t.ɵppd(115,2),t.ɵppd(116,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(120,0,null,null,59,"div",[["class","form-check form-check-block"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(122,0,null,null,6,"input",[["class","form-check-input"],["id","planEnterprise"],["name","PlanType"],["type","radio"],["value","enterprise"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,123)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,123).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,123)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,123)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,124).onChange()&&u);"blur"===l&&(u=!1!==t.ɵnov(n,124).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.plan=e)&&u);"change"===l&&(u=!1!==o.changedPlan()&&u);return u},null,null)),t.ɵdid(123,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(124,212992,null,0,u.RadioControlValueAccessor,[t.Renderer2,t.ElementRef,u.ɵi,t.Injector],{name:[0,"name"],value:[1,"value"]},null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.RadioControlValueAccessor]),t.ɵdid(126,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(128,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(130,0,null,null,48,"label",[["class","form-check-label"],["for","planEnterprise"]],null,null,null,null,null)),(n()(),t.ɵted(131,null,["\n ","\n "])),t.ɵppd(132,1),(n()(),t.ɵeld(133,0,null,null,2,"small",[["class","mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(134,null,["",""])),t.ɵppd(135,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(137,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(138,null,["• ",""])),t.ɵppd(139,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(141,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(142,null,["• ",""])),t.ɵppd(143,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(145,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(146,null,["• ",""])),t.ɵppd(147,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(149,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(150,null,["• ",""])),t.ɵppd(151,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(153,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(154,null,["• ",""])),t.ɵppd(155,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(157,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(158,null,["• ",""])),t.ɵppd(159,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(161,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(162,null,["• ",""])),t.ɵppd(163,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(165,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(166,null,["• ",""])),t.ɵppd(167,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(169,0,null,null,2,"small",[],null,null,null,null,null)),(n()(),t.ɵted(170,null,["• ",""])),t.ɵppd(171,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(173,0,null,null,4,"span",[],null,null,null,null,null)),(n()(),t.ɵted(174,null,[""," /",""])),t.ɵppd(175,2),t.ɵppd(176,2),t.ɵppd(177,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(182,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(184,0,null,null,13,"div",[],null,null,null,null,null)),t.ɵdid(185,278528,null,0,r.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(186,{"mt-4":0}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(188,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(190,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(191,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(193,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(194,null,["",""])),t.ɵppd(195,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,20,0,"");n(l,23,0,"Name",e.name);n(l,36,0,"");n(l,39,0,"BillingEmail",e.billingEmail);n(l,50,0,"OwnedBusiness",e.ownedBusiness),n(l,60,0,e.ownedBusiness),n(l,67,0,!e.ownedBusiness),n(l,70,0,!e.ownedBusiness);n(l,76,0,"PlanType","teams");n(l,78,0,"PlanType",e.plan);n(l,124,0,"PlanType","enterprise");n(l,126,0,"PlanType",e.plan),n(l,182,0,!e.plans[e.plan].noPayment),n(l,185,0,n(l,186,0,e.plans[e.plan].noPayment))},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"generalInformation"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"organizationName"))),n(l,18,0,t.ɵnov(l,20).required?"":null,t.ɵnov(l,25).ngClassUntouched,t.ɵnov(l,25).ngClassTouched,t.ɵnov(l,25).ngClassPristine,t.ɵnov(l,25).ngClassDirty,t.ɵnov(l,25).ngClassValid,t.ɵnov(l,25).ngClassInvalid,t.ɵnov(l,25).ngClassPending),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"billingEmail"))),n(l,34,0,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,47,0,t.ɵnov(l,52).ngClassUntouched,t.ɵnov(l,52).ngClassTouched,t.ɵnov(l,52).ngClassPristine,t.ɵnov(l,52).ngClassDirty,t.ɵnov(l,52).ngClassValid,t.ɵnov(l,52).ngClassInvalid,t.ɵnov(l,52).ngClassPending),n(l,55,0,t.ɵunv(l,55,0,n(l,56,0,t.ɵnov(l.parent,0),"accountOwnedBusiness"))),n(l,63,0,t.ɵunv(l,63,0,n(l,64,0,t.ɵnov(l.parent,0),"chooseYourPlan"))),n(l,74,0,t.ɵnov(l,80).ngClassUntouched,t.ɵnov(l,80).ngClassTouched,t.ɵnov(l,80).ngClassPristine,t.ɵnov(l,80).ngClassDirty,t.ɵnov(l,80).ngClassValid,t.ɵnov(l,80).ngClassInvalid,t.ɵnov(l,80).ngClassPending),n(l,83,0,t.ɵunv(l,83,0,n(l,84,0,t.ɵnov(l.parent,0),"planNameTeams"))),n(l,86,0,t.ɵunv(l,86,0,n(l,87,0,t.ɵnov(l.parent,0),"planDescTeams"))),n(l,90,0,t.ɵunv(l,90,0,n(l,91,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"))),n(l,94,0,t.ɵunv(l,94,0,n(l,95,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"))),n(l,98,0,t.ɵunv(l,98,0,n(l,99,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,102,0,t.ɵunv(l,102,0,n(l,103,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"))),n(l,106,0,t.ɵunv(l,106,0,n(l,107,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"))),n(l,110,0,t.ɵunv(l,110,0,n(l,111,0,t.ɵnov(l.parent,1),5,"$")),t.ɵunv(l,110,1,n(l,112,0,t.ɵnov(l.parent,0),"month")),t.ɵunv(l,110,2,n(l,113,0,t.ɵnov(l.parent,0),"includesXUsers",5)),t.ɵunv(l,110,3,n(l,114,0,t.ɵnov(l.parent,0),"additionalUsers")).toLowerCase(),t.ɵunv(l,110,4,n(l,115,0,t.ɵnov(l.parent,1),2,"$")),t.ɵunv(l,110,5,n(l,116,0,t.ɵnov(l.parent,0),"month"))),n(l,122,0,t.ɵnov(l,128).ngClassUntouched,t.ɵnov(l,128).ngClassTouched,t.ɵnov(l,128).ngClassPristine,t.ɵnov(l,128).ngClassDirty,t.ɵnov(l,128).ngClassValid,t.ɵnov(l,128).ngClassInvalid,t.ɵnov(l,128).ngClassPending),n(l,131,0,t.ɵunv(l,131,0,n(l,132,0,t.ɵnov(l.parent,0),"planNameEnterprise"))),n(l,134,0,t.ɵunv(l,134,0,n(l,135,0,t.ɵnov(l.parent,0),"planDescEnterprise"))),n(l,138,0,t.ɵunv(l,138,0,n(l,139,0,t.ɵnov(l.parent,0),"addShareUnlimitedUsers"))),n(l,142,0,t.ɵunv(l,142,0,n(l,143,0,t.ɵnov(l.parent,0),"createUnlimitedCollections"))),n(l,146,0,t.ɵunv(l,146,0,n(l,147,0,t.ɵnov(l.parent,0),"gbEncryptedFileStorage","1 GB"))),n(l,150,0,t.ɵunv(l,150,0,n(l,151,0,t.ɵnov(l.parent,0),"controlAccessWithGroups"))),n(l,154,0,t.ɵunv(l,154,0,n(l,155,0,t.ɵnov(l.parent,0),"trackAuditLogs"))),n(l,158,0,t.ɵunv(l,158,0,n(l,159,0,t.ɵnov(l.parent,0),"syncUsersFromDirectory"))),n(l,162,0,t.ɵunv(l,162,0,n(l,163,0,t.ɵnov(l.parent,0),"onPremHostingOptional"))),n(l,166,0,t.ɵunv(l,166,0,n(l,167,0,t.ɵnov(l.parent,0),"priorityCustomerSupport"))),n(l,170,0,t.ɵunv(l,170,0,n(l,171,0,t.ɵnov(l.parent,0),"xDayFreeTrial","7"))),n(l,174,0,t.ɵunv(l,174,0,n(l,176,0,t.ɵnov(l.parent,0),"costPerUser",t.ɵunv(l,174,0,n(l,175,0,t.ɵnov(l.parent,1),3,"$")))),t.ɵunv(l,174,1,n(l,177,0,t.ɵnov(l.parent,0),"month"))),n(l,188,0,t.ɵnov(l,0).loading),n(l,190,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,190,0,n(l,191,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,194,0,t.ɵunv(l,194,0,n(l,195,0,t.ɵnov(l.parent,0),"submit")))})}function F(n){return t.ɵvid(0,[t.ɵpid(0,p.I18nPipe,[d.I18nService]),t.ɵpid(0,r.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(15,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(18,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,e.selfHosted),n(l,18,0,!e.selfHosted)},function(n,l){n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"newOrganization"))),n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l,0),"newOrganizationDesc")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-create-organization",[],null,null,null,F,b)),t.ɵdid(1,114688,null,0,f.CreateOrganizationComponent,[v.ApiService,d.I18nService,h.Angulartics2,g.ToasterService,c.PlatformUtilsService,m.CryptoService,y.Router,C.SyncService,y.ActivatedRoute],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_CreateOrganizationComponent=b,l.View_CreateOrganizationComponent_0=F,l.View_CreateOrganizationComponent_Host_0=L;var G=t.ɵccf("app-create-organization",f.CreateOrganizationComponent,L,{},{},[]);l.CreateOrganizationComponentNgFactory=G},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.PaymentRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.StorageRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(18),a=e(17),s=e(5),d=e(544),c=e(267),p=e(4),f=e(3),v=e(9),h=e(543),g=e(266),m=e(542),y=e(265),C=e(7),b=e(263),S=e(35),w=e(8),R=e(10),_=t.ɵcrt({encapsulation:2,styles:[],data:{}});function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent,0),"loading")),""))})}function E(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(3,0,["",""])),t.ɵppd(4,1)],function(n,l){n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"canceled")),""))},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"subscriptionCanceled")))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"],title:[1,"title"]},null),t.ɵppd(2,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(4,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(8,0,[["reinstateBtn",1]],0,9,"button",[["class","btn btn-outline-secondary btn-submit"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reinstate()&&t);return t},null,null)),t.ɵdid(9,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "]))],function(n,l){var e=l.component;n(l,1,0,"warning",t.ɵinlineInterpolate(1,"",t.ɵunv(l,1,1,n(l,2,0,t.ɵnov(l.parent.parent,0),"pendingCancellation")),"")),n(l,9,0,e.reinstatePromise)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"subscriptionPendingCanceled"))),n(l,8,0,t.ɵnov(l,8).loading),n(l,11,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent.parent,0),"loading")),"")),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent.parent,0),"reinstateSubscription")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,2)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,1),e.billing.expiration,"mediumDate")))})}function T(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"neverExpires")))})}function k(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,N)),t.ɵdid(7,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,T)),t.ɵdid(10,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,7,0,e.billing.expiration),n(l,10,0,!e.billing.expiration)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent,0),"expiration")))})}function V(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[["class","badge badge-warning"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"pendingCancellation")))})}function P(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["\n "," "," @ ","\n "])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,3,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n "," /","\n "])),t.ɵppd(8,2),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,l.context.$implicit.name,l.context.$implicit.quantity>1?"×"+l.context.$implicit.quantity:"",t.ɵunv(l,3,2,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.quantity*l.context.$implicit.amount,"$")),t.ɵunv(l,7,1,n(l,9,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.interval)))})}function M(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,"div",[["class","col-8"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"strong",[["class","d-block mb-1"]],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,7,"table",[["class","table"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,P)),t.ɵdid(11,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,11,0,l.component.subscription.items)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"details")))})}function x(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,32,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,26,"div",[["class","col-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,23,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,7,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,1,"span",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,V)),t.ɵdid(16,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,3,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(24,null,["","\n "])),t.ɵppd(25,2),t.ɵppd(26,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,M)),t.ɵdid(31,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,16,0,e.subscriptionMarkedForCancel),n(l,31,0,e.subscription)},function(n,l){var e=l.component;n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent,0),"status"))),n(l,13,0,e.subscription&&e.subscription.status||"-"),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent.parent,0),"nextCharge"))),n(l,24,0,e.nextInvoice?t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,1),e.nextInvoice.date,"mediumDate"))+", "+t.ɵunv(l,24,0,n(l,26,0,t.ɵnov(l.parent.parent,2),e.nextInvoice.amount,"$")):"-")})}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,11,"div",[["class","card mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,8,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"h3",[["class","card-body-header"]],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,1,"app-update-license",[],null,[[null,"onUpdated"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onUpdated"===l&&(t=!1!==u.closeUpdateLicense(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeUpdateLicense(!1)&&t);return t},d.View_UpdateLicenseComponent_0,d.RenderType_UpdateLicenseComponent)),t.ɵdid(9,49152,null,0,c.UpdateLicenseComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],null,{onUpdated:"onUpdated",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent.parent,0),"updateLicense")))})}function U(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,15,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,9,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.updateLicense()&&t);return t},null,null)),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/billing"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(9,null,["\n ","\n "])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,D)),t.ɵdid(14,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,14,0,l.component.showUpdateLicense)},function(n,l){n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"updateLicense"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l.parent.parent,0),"manageSubscription")))})}function F(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.downloadLicense()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"downloadLicense")))})}function L(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["cancelBtn",1]],null,9,"button",[["class","btn btn-outline-danger btn-submit ml-auto"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.cancel()&&t);return t},null,null)),t.ɵdid(1,540672,null,0,r.ApiActionDirective,[t.ElementRef,a.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,1,0,l.component.cancelPromise)},function(n,l){n(l,0,0,t.ɵnov(l,0).loading),n(l,3,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent,0),"loading")),"")),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent,0),"cancelSubscription")))})}function G(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,9,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!0)&&t);return t},null,null)),(n()(),t.ɵted(3,null,["\n ","\n "])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"button",[["class","ml-1 btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.adjustStorage(!1)&&t);return t},null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,0),"addStorage"))),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent.parent.parent.parent,0),"removeStorage")))})}function q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-adjust-storage",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closeStorage(!0)&&t);"onCanceled"===l&&(t=!1!==u.closeStorage(!1)&&t);return t},h.View_AdjustStorageComponent_0,h.RenderType_AdjustStorageComponent)),t.ɵdid(1,49152,null,0,g.AdjustStorageComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{storageGbPrice:[0,"storageGbPrice"],add:[1,"add"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"})],function(n,l){n(l,1,0,4,l.component.adjustStorageAdd)},null)}function z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","mt-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,G)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,q)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.showAdjustStorage),n(l,8,0,e.showAdjustStorage)},null)}function j(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noPaymentMethod")))})}function B(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"i",[["class","fa fa-fw"]],null,null,null,null,null)),t.ɵdid(3,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(4,{"fa-credit-card":0,"fa-university":1,"fa-paypal text-primary":2}),(n()(),t.ɵted(5,null,["\n ","\n "]))],function(n,l){var e=l.component;n(l,3,0,"fa fa-fw",n(l,4,0,e.paymentSource.type===e.paymentMethodType.Card,e.paymentSource.type===e.paymentMethodType.BankAccount,e.paymentSource.type===e.paymentMethodType.PayPal))},function(n,l){n(l,5,0,l.component.paymentSource.description)})}function K(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.changePayment()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){var e=l.component;n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),e.paymentSource?"changePaymentMethod":"addPaymentMethod")))})}function H(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"app-adjust-payment",[],null,[[null,"onAdjusted"],[null,"onCanceled"]],function(n,l,e){var t=!0,u=n.component;"onAdjusted"===l&&(t=!1!==u.closePayment(!0)&&t);"onCanceled"===l&&(t=!1!==u.closePayment(!1)&&t);return t},m.View_AdjustPaymentComponent_0,m.RenderType_AdjustPaymentComponent)),t.ɵdid(1,49152,null,0,y.AdjustPaymentComponent,[p.ApiService,i.I18nService,f.Angulartics2,v.ToasterService],{currentType:[0,"currentType"]},{onAdjusted:"onAdjusted",onCanceled:"onCanceled"}),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,1,0,null!=e.paymentSource?e.paymentSource.type:null)},null)}function $(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent.parent.parent,0),"noCharges")))})}function W(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,18,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"td",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,1,"td",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,1,"td",[["class","text-capitalize"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,5,"td",[],[[8,"title",0]],null,null,null,null)),t.ɵdid(13,278528,null,0,s.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(14,{"text-strike":0}),t.ɵppd(15,1),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,13,0,n(l,14,0,l.context.$implicit.refunded))},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent.parent.parent.parent,1),l.context.$implicit.createdDate,"mediumDate"))),n(l,7,0,l.context.$implicit.paymentSource?l.context.$implicit.paymentSource.description:"-"),n(l,10,0,l.context.$implicit.status),n(l,12,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,12,0,n(l,15,0,t.ɵnov(l.parent.parent.parent.parent,0),l.context.$implicit.refunded?"refunded":"")),"")),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent.parent.parent,2),l.context.$implicit.amount,"$")))})}function Y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table mb-2"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,W)),t.ɵdid(5,802816,null,0,s.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.charges)},null)}function Z(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,60,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,7,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,F)),t.ɵdid(5,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,L)),t.ɵdid(8,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(16,null,["",""])),t.ɵppd(17,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,7,"div",[["class","progress"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,4,"div",[["aria-valuemax","100"],["aria-valuemin","0"],["class","progress-bar bg-success"],["role","progressbar"]],[[1,"aria-valuenow",0]],null,null,null,null)),t.ɵdid(22,278528,null,0,s.NgStyle,[t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngStyle:[0,"ngStyle"]},null),t.ɵpod(23,{width:0}),(n()(),t.ɵted(24,null,["",""])),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(32,null,["",""])),t.ɵppd(33,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,j)),t.ɵdid(36,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,B)),t.ɵdid(39,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,K)),t.ɵdid(42,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,H)),t.ɵdid(45,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,$)),t.ɵdid(52,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Y)),t.ɵdid(55,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"small",[["class","text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(58,null,["* ",""])),t.ɵppd(59,2),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,5,0,!e.subscription||!e.subscription.cancelled),n(l,8,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel),n(l,22,0,n(l,23,0,e.storageProgressWidth+"%")),n(l,29,0,e.subscription&&!e.subscription.cancelled&&!e.subscriptionMarkedForCancel&&e.paymentSource),n(l,36,0,!e.paymentSource),n(l,39,0,e.paymentSource),n(l,42,0,!e.showAdjustPayment),n(l,45,0,e.showAdjustPayment),n(l,52,0,!e.charges||!e.charges.length),n(l,55,0,e.charges&&e.charges.length)},function(n,l){var e=l.component;n(l,12,0,t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent.parent,0),"storage"))),n(l,16,0,t.ɵunv(l,16,0,n(l,17,0,t.ɵnov(l.parent.parent,0),"subscriptionStorage",e.billing.maxStorageGb||0,e.billing.storageName||"0 MB"))),n(l,21,0,e.storagePercentage),n(l,24,0,t.ɵunv(l,24,0,n(l,25,0,t.ɵnov(l.parent.parent,3),e.storagePercentage/100))),n(l,32,0,t.ɵunv(l,32,0,n(l,33,0,t.ɵnov(l.parent.parent,0),"paymentMethod"))),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l.parent.parent,0),"charges"))),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l.parent.parent,0),"chargesStatement","BITWARDEN")))})}function J(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,30,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,E)),t.ɵdid(3,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,O)),t.ɵdid(6,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,9,"dl",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,2,"dt",[],null,null,null,null,null)),(n()(),t.ɵted(11,null,["",""])),t.ɵppd(12,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"dd",[],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,k)),t.ɵdid(20,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,x)),t.ɵdid(23,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,U)),t.ɵdid(26,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,Z)),t.ɵdid(29,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,e.subscription&&e.subscription.cancelled),n(l,6,0,e.subscriptionMarkedForCancel),n(l,20,0,e.selfHosted),n(l,23,0,!e.selfHosted),n(l,26,0,e.selfHosted),n(l,29,0,!e.selfHosted)},function(n,l){n(l,11,0,t.ɵunv(l,11,0,n(l,12,0,t.ɵnov(l.parent,0),"subscription"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"premiumMembership")))})}function X(n){return t.ɵvid(0,[t.ɵpid(0,C.I18nPipe,[i.I18nService]),t.ɵpid(0,s.DatePipe,[t.LOCALE_ID]),t.ɵpid(0,s.CurrencyPipe,[t.LOCALE_ID]),t.ɵpid(0,s.PercentPipe,[t.LOCALE_ID]),(n()(),t.ɵeld(4,0,null,null,11,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,8,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["\n ","\n "])),t.ɵppd(8,1),(n()(),t.ɵeld(9,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(12,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(18,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,J)),t.ɵdid(21,16384,null,0,s.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,12,0,e.firstLoaded&&e.loading),n(l,18,0,!e.firstLoaded&&e.loading),n(l,21,0,e.billing)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"billingAndLicensing")))})}function Q(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-user-billing",[],null,null,null,X,_)),t.ɵdid(1,114688,null,0,b.UserBillingComponent,[S.TokenService,p.ApiService,w.PlatformUtilsService,i.I18nService,f.Angulartics2,v.ToasterService,R.Router],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_UserBillingComponent=_,l.View_UserBillingComponent_0=X,l.View_UserBillingComponent_Host_0=Q;var nn=t.ɵccf("app-user-billing",b.UserBillingComponent,Q,{},{},[]);l.UserBillingComponentNgFactory=nn},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(269),a=e(127),s=e(2),d=e(8),c=e(7),p=e(5),f=e(40),v=e(37),h=e(268),g=e(4),m=e(3),y=e(9),C=e(35),b=e(10),S=e(27),w=e(66),R=t.ɵcrt({encapsulation:2,styles:[],data:{}});function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"a",[["class","btn btn-outline-secondary"],["href","https://vault.bitwarden.com/#/settings/premium"],["rel","noopener"],["target","_blank"]],null,null,null,null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"purchasePremium")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(3,null,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,[["form",1]],null,28,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(9,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(10,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,11,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","file"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,0,"input",[["class","form-control-file"],["id","file"],["name","file"],["required",""],["type","file"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(20,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(21,null,["",""])),t.ɵppd(22,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,10,0,l.component.formPromise)},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l.parent,0),"uploadLicenseFilePremium"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"licenseFile"))),n(l,21,0,t.ɵunv(l,21,0,n(l,22,0,t.ɵnov(l.parent,0),"licenseFileDesc","bitwarden_premium_license.json"))),n(l,25,0,t.ɵnov(l,6).loading),n(l,27,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l.parent,0),"submit")))})}function A(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,76,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h2",[["class","mt-5"]],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,22,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,19,"div",[["class","form-group col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,2,"label",[["for","additionalStorage"]],null,null,null,null,null)),(n()(),t.ɵted(15,null,["",""])),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,7,"input",[["class","form-control"],["id","additionalStorage"],["max","99"],["min","0"],["name","AdditionalStorageGb"],["step","1"],["type","number"]],[[8,"placeholder",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"],[null,"change"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,19)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,19).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,19)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,19)._compositionEnd(e.target.value)&&u);"change"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"input"===l&&(u=!1!==t.ɵnov(n,20).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,20).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.additionalStorage=e)&&u);return u},null,null)),t.ɵdid(19,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(20,16384,null,0,u.ɵbc,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n,l){return[n,l]},[u.DefaultValueAccessor,u.ɵbc]),t.ɵdid(22,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(24,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(25,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,3,"small",[["class","text-muted form-text"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["",""])),t.ɵppd(29,2),t.ɵppd(30,3),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(35,null,["",""])),t.ɵppd(36,1),(n()(),t.ɵted(37,null,["\n ",": ","\n "])),t.ɵppd(38,1),t.ɵppd(39,2),(n()(),t.ɵeld(40,0,null,null,0,"br",[],null,null,null,null,null)),(n()(),t.ɵted(41,null,[" ",": "," GB × "," = ","\n "])),t.ɵppd(42,1),t.ɵppd(43,2),t.ɵppd(44,2),(n()(),t.ɵeld(45,0,null,null,0,"hr",[["class","my-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,7,"div",[["class","text-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"strong",[],null,null,null,null,null)),(n()(),t.ɵted(50,null,["",":"])),t.ɵppd(51,1),(n()(),t.ɵted(52,null,[" "," /","\n "])),t.ɵppd(53,2),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,2,"small",[["class","text-muted font-italic"]],null,null,null,null,null)),(n()(),t.ɵted(57,null,["",""])),t.ɵppd(58,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,2,"h2",[["class","spaced-header mb-4"]],null,null,null,null,null)),(n()(),t.ɵted(61,null,["",""])),t.ɵppd(62,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,1,"app-payment",[],null,null,null,r.View_PaymentComponent_0,r.RenderType_PaymentComponent)),t.ɵdid(65,245760,[[1,4]],0,a.PaymentComponent,[s.I18nService,d.PlatformUtilsService],{hideBank:[0,"hideBank"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(67,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(73,null,["",""])),t.ɵppd(74,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,22,0,"AdditionalStorageGb",e.additionalStorage);n(l,65,0,!0)},function(n,l){var e=l.component;n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l.parent,0),"addons"))),n(l,15,0,t.ɵunv(l,15,0,n(l,16,0,t.ɵnov(l.parent,0),"additionalStorageGb"))),n(l,18,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,18,0,n(l,25,0,t.ɵnov(l.parent,0),"additionalStorageGbDesc")),""),t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,28,0,t.ɵunv(l,28,0,n(l,30,0,t.ɵnov(l.parent,0),"additionalStorageDesc","1 GB",t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$"))))),n(l,35,0,t.ɵunv(l,35,0,n(l,36,0,t.ɵnov(l.parent,0),"summary"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l.parent,0),"premiumMembership")),t.ɵunv(l,37,1,n(l,39,0,t.ɵnov(l.parent,1),e.premiumPrice,"$"))),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"additionalStorageGb")),e.additionalStorage||0,t.ɵunv(l,41,2,n(l,43,0,t.ɵnov(l.parent,1),e.storageGbPrice,"$")),t.ɵunv(l,41,3,n(l,44,0,t.ɵnov(l.parent,1),e.additionalStorageTotal,"$"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l.parent,0),"total"))),n(l,52,0,t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l.parent,1),e.total,"USD $")),t.ɵunv(l,52,1,n(l,54,0,t.ɵnov(l.parent,0),"year"))),n(l,57,0,t.ɵunv(l,57,0,n(l,58,0,t.ɵnov(l.parent,0),"paymentChargedAnnually"))),n(l,61,0,t.ɵunv(l,61,0,n(l,62,0,t.ɵnov(l.parent,0),"paymentInformation"))),n(l,67,0,t.ɵnov(l,0).loading),n(l,69,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,73,0,t.ɵunv(l,73,0,n(l,74,0,t.ɵnov(l.parent,0),"submit")))})}function E(n){return t.ɵvid(0,[t.ɵpid(0,c.I18nPipe,[s.I18nService]),t.ɵpid(0,p.CurrencyPipe,[t.LOCALE_ID]),t.ɵqud(671088640,1,{paymentComponent:0}),(n()(),t.ɵeld(3,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(6,null,["",""])),t.ɵppd(7,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(10,0,null,null,49,"app-callout",[["type","success"]],null,null,null,f.View_CalloutComponent_0,f.RenderType_CalloutComponent)),t.ɵdid(11,114688,null,0,v.CalloutComponent,[s.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(13,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(17,0,null,0,31,"ul",[["class","fa-ul"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(34,null,["\n ","\n "])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(37,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(40,null,["\n ","\n "])),t.ɵppd(41,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,4,"li",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,0,"i",[["class","fa fa-check text-success fa-li"]],null,null,null,null,null)),(n()(),t.ɵted(46,null,["\n ","\n "])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(50,0,null,0,5,"p",[["class","text-lg"]],null,null,null,null,null)),t.ɵdid(51,278528,null,0,p.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{klass:[0,"klass"],ngClass:[1,"ngClass"]},null),t.ɵpod(52,{"mb-0":0}),(n()(),t.ɵted(53,null,["",""])),t.ɵppd(54,2),t.ɵppd(55,2),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵand(16777216,null,0,1,null,_)),t.ɵdid(58,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,0,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,I)),t.ɵdid(62,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,A)),t.ɵdid(65,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,11,0,"success");n(l,51,0,"text-lg",n(l,52,0,!e.selfHosted)),n(l,58,0,e.selfHosted),n(l,62,0,e.selfHosted),n(l,65,0,!e.selfHosted)},function(n,l){var e=l.component;n(l,6,0,t.ɵunv(l,6,0,n(l,7,0,t.ɵnov(l,0),"goPremium"))),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"premiumUpgradeUnlockFeatures"))),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l,0),"premiumSignUpStorage"))),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"premiumSignUpTwoStep"))),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"premiumSignUpTotp"))),n(l,40,0,t.ɵunv(l,40,0,n(l,41,0,t.ɵnov(l,0),"premiumSignUpSupport"))),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"premiumSignUpFuture"))),n(l,53,0,t.ɵunv(l,53,0,n(l,55,0,t.ɵnov(l,0),"premiumPrice",t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,1),e.premiumPrice,"$")))))})}function O(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-premium",[],null,null,null,E,R)),t.ɵdid(1,114688,null,0,h.PremiumComponent,[g.ApiService,s.I18nService,m.Angulartics2,y.ToasterService,d.PlatformUtilsService,C.TokenService,b.Router,S.MessagingService,w.SyncService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_PremiumComponent=R,l.View_PremiumComponent_0=E,l.View_PremiumComponent_Host_0=O;var N=t.ɵccf("app-premium",h.PremiumComponent,O,{},{},[]);l.PremiumComponentNgFactory=N},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorYubioOtpRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorU2fRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorEmailRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorDuoRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.TwoFactorProviderRequest=o},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.UpdateTwoFactorAuthenticatorRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(60),a=e(5),s=e(7),d=e(215),c=e(4),p=e(35),f=e(27),v=t.ɵcrt({encapsulation:2,styles:[],data:{}});function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginDesc")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"twoStepLoginOrganizationDesc")))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,10,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(1,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(3,0,null,0,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,0,["\n "])),(n()(),t.ɵeld(7,0,null,0,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.recoveryCode()&&t);return t},null,null)),(n()(),t.ɵted(8,null,["",""])),t.ɵppd(9,1),(n()(),t.ɵted(-1,0,["\n"]))],function(n,l){n(l,1,0,"warning")},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent,0),"twoStepLoginRecoveryWarning"))),n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"viewRecoveryCode")))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"small",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin fa-fw text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"i",[["class","fa fa-check text-success fa-fw"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(1,1)],null,function(n,l){n(l,0,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,0,0,n(l,1,0,t.ɵnov(l.parent.parent,0),"enabled")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"a",[["appStopClick",""],["class","badge badge-primary"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.premiumRequired()&&u);return u},null,null)),t.ɵdid(1,16384,null,0,r.StopClickDirective,[],null,null),(n()(),t.ɵted(2,null,["\n ","\n "])),t.ɵppd(3,1)],null,function(n,l){n(l,2,0,t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent.parent,0),"premium")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,25,"li",[["class","list-group-item d-flex align-items-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"div",[["class","logo-2fa d-flex justify-content-center"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,0,"img",[["alt",""]],[[8,"src",4]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,10,"div",[["class","mx-4"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,7,"h3",[["class","mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["\n ","\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(12,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(17,null,["\n ","\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,5,"div",[["class","ml-auto"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,2,"button",[["class","btn btn-outline-secondary btn-sm"],["type","button"]],[[8,"disabled",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.manage(n.context.$implicit.type)&&t);return t},null,null)),(n()(),t.ɵted(22,null,["\n ","\n "])),t.ɵppd(23,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,12,0,l.context.$implicit.enabled),n(l,15,0,!e.premium&&l.context.$implicit.premium)},function(n,l){var e=l.component;n(l,4,0,"images/two-factor/"+l.context.$implicit.type+".png"),n(l,10,0,l.context.$implicit.name),n(l,17,0,l.context.$implicit.description),n(l,21,0,!e.premium&&l.context.$implicit.premium),n(l,22,0,t.ɵunv(l,22,0,n(l,23,0,t.ɵnov(l.parent,0),"manage")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function _(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function I(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function A(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function E(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function O(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),t.ɵqud(402653184,1,{recoveryModalRef:0}),t.ɵqud(402653184,2,{authenticatorModalRef:0}),t.ɵqud(402653184,3,{yubikeyModalRef:0}),t.ɵqud(402653184,4,{u2fModalRef:0}),t.ɵqud(402653184,5,{duoModalRef:0}),t.ɵqud(402653184,6,{emailModalRef:0}),(n()(),t.ɵeld(7,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,h)),t.ɵdid(15,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(18,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(21,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(23,0,null,null,7,"h2",[],null,null,null,null,null)),t.ɵdid(24,278528,null,0,a.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(25,{"mt-5":0}),(n()(),t.ɵted(26,null,["\n ","\n "])),t.ɵppd(27,1),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(29,16384,null,0,a.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(32,0,null,null,4,"ul",[["class","list-group list-group-2fa"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(35,802816,null,0,a.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n\n"])),(n()(),t.ɵand(16777216,[[2,3],["authenticatorTemplate",2]],null,0,null,w)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["recoveryTemplate",2]],null,0,null,R)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[5,3],["duoTemplate",2]],null,0,null,_)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[6,3],["emailTemplate",2]],null,0,null,I)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["yubikeyTemplate",2]],null,0,null,A)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[4,3],["u2fTemplate",2]],null,0,null,E)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,15,0,!e.organizationId),n(l,18,0,e.organizationId),n(l,21,0,!e.organizationId),n(l,24,0,n(l,25,0,!e.organizationId)),n(l,29,0,e.loading),n(l,35,0,e.providers)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"providers")))})}function N(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-two-factor-setup",[],null,null,null,O,v)),t.ɵdid(1,114688,null,0,d.TwoFactorSetupComponent,[c.ApiService,p.TokenService,t.ComponentFactoryResolver,f.MessagingService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_TwoFactorSetupComponent=v,l.View_TwoFactorSetupComponent_0=O,l.View_TwoFactorSetupComponent_Host_0=N;var T=t.ɵccf("app-two-factor-setup",d.TwoFactorSetupComponent,N,{},{},[]);l.TwoFactorSetupComponentNgFactory=T},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){}}();l.UpdateDomainsRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(5),i=e(60),r=e(7),a=e(2),s=e(18),d=e(17),c=e(271),p=e(4),f=e(3),v=e(9),h=t.ɵcrt({encapsulation:2,styles:[],data:{}});function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function m(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,24,"div",[["class","form-group d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,15,"div",[["class","flex-fill"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"label",[["class","sr-only"]],[[8,"htmlFor",0]],null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,8,"textarea",[["class","form-control"],["required",""]],[[8,"id",0],[8,"placeholder",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,9)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,9).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,9)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,9)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.custom[n.context.index]=e)&&u);return u},null,null)),t.ɵdid(9,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(10,16384,null,0,u.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,u.NG_VALIDATORS,function(n){return[n]},[u.RequiredValidator]),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(13,671744,null,0,u.NgModel,[[2,u.ControlContainer],[2,u.NG_VALIDATORS],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(15,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),t.ɵppd(16,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,4,"button",[["class","btn btn-link text-danger ml-2"],["type","button"]],[[8,"title",0]],[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.remove(n.context.index)&&t);return t},null,null)),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,0,"i",[["class","fa fa-minus-circle fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,10,0,""),n(l,13,0,t.ɵinlineInterpolate(1,"CustomDomain[",l.context.index,"]"),e.custom[l.context.index])},function(n,l){n(l,4,0,t.ɵinlineInterpolate(1,"customDomain_",l.context.index,"")),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent.parent,0),"customDomainX",l.context.index+1))),n(l,8,0,t.ɵinlineInterpolate(1,"customDomain_",l.context.index,""),t.ɵinlineInterpolate(1,"",t.ɵunv(l,8,1,n(l,16,0,t.ɵnov(l.parent.parent,0),"ex"))," google.com, gmail.com"),t.ɵnov(l,10).required?"":null,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,19,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l.parent.parent,0),"remove")),""))})}function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,14,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,m)),t.ɵdid(3,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"],ngForTrackBy:[1,"ngForTrackBy"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,4,"button",[["class","btn btn-outline-secondary btn-sm mb-2"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.add()&&t);return t},null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,0,"i",[["class","fa fa-plus fa-fw"]],null,null,null,null,null)),(n()(),t.ɵted(8,null,[" ","\n "])),t.ɵppd(9,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,2,"small",[["class","text-muted d-block mb-3"]],null,null,null,null,null)),(n()(),t.ɵted(12,null,["",""])),t.ɵppd(13,1),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,3,0,e.custom,e.indexTrackBy)},function(n,l){n(l,8,0,t.ɵunv(l,8,0,n(l,9,0,t.ɵnov(l.parent,0),"newCustomDomain"))),n(l,12,0,t.ɵunv(l,12,0,n(l,13,0,t.ɵnov(l.parent,0),"newCustomDomainDesc")))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"p",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n "]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.toggleExcluded(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-close"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"exclude")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e)&&u);"click"===l&&(u=!1!==o.toggleExcluded(n.parent.context.$implicit)&&u);return u},null,null)),t.ɵdid(1,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,0,"i",[["class","fa fa-fw fa-plus"]],null,null,null,null,null)),(n()(),t.ɵted(4,null,["\n ","\n "])),t.ɵppd(5,1)],null,function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l.parent.parent.parent,0),"include")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,33,"tr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,3,"td",[],null,null,null,null,null)),t.ɵdid(3,278528,null,0,o.NgClass,[t.IterableDiffers,t.KeyValueDiffers,t.ElementRef,t.Renderer2],{ngClass:[0,"ngClass"]},null),t.ɵpod(4,{"table-list-strike":0}),(n()(),t.ɵted(5,null,["",""])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,25,"td",[["class","table-list-options"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,22,"div",[["appListDropdown",""],["class","dropdown"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,3,"button",[["aria-expanded","false"],["aria-haspopup","true"],["class","btn btn-outline-secondary dropdown-toggle"],["data-toggle","dropdown"],["type","button"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,0,"i",[["class","fa fa-cog fa-lg"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,14,"div",[["class","dropdown-menu dropdown-menu-right"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(19,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(22,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,5,"a",[["appStopClick",""],["class","dropdown-item"],["href","#"]],null,[[null,"click"]],function(n,l,e){var u=!0,o=n.component;"click"===l&&(u=!1!==t.ɵnov(n,25).onClick(e)&&u);"click"===l&&(u=!1!==o.customize(n.context.$implicit)&&u);return u},null,null)),t.ɵdid(25,16384,null,0,i.StopClickDirective,[],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(27,0,null,null,0,"i",[["class","fa fa-fw fa-scissors"]],null,null,null,null,null)),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,3,0,n(l,4,0,l.context.$implicit.excluded)),n(l,19,0,!l.context.$implicit.excluded),n(l,22,0,l.context.$implicit.excluded)},function(n,l){n(l,5,0,l.context.$implicit.domains),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l.parent.parent,0),"customize")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,7,"table",[["class","table table-hover table-list"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,4,"tbody",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(5,802816,null,0,o.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){n(l,5,0,l.component.global)},null)}function _(n){return t.ɵvid(0,[t.ɵpid(0,r.I18nPipe,[a.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(12,0,[["form",1]],null,45,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,13).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,13).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(13,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(15,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(16,540672,null,0,s.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"h2",[],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,g)),t.ɵdid(23,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(26,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(31,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(34,null,["",""])),t.ɵppd(35,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,2,"h2",[["class","spaced-header"]],null,null,null,null,null)),(n()(),t.ɵted(39,null,["",""])),t.ɵppd(40,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(46,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(48,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,e.formPromise),n(l,23,0,e.loading),n(l,26,0,!e.loading),n(l,43,0,e.loading),n(l,46,0,!e.loading&&e.global.length>0)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"domainRules"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"domainRulesDesc"))),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"customEqDomains"))),n(l,28,0,t.ɵnov(l,12).loading),n(l,30,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,30,0,n(l,31,0,t.ɵnov(l,0),"loading")),"")),n(l,34,0,t.ɵunv(l,34,0,n(l,35,0,t.ɵnov(l,0),"save"))),n(l,39,0,t.ɵunv(l,39,0,n(l,40,0,t.ɵnov(l,0),"globalEqDomains"))),n(l,48,0,t.ɵnov(l,12).loading),n(l,50,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"loading")),"")),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"save")))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-domain-rules",[],null,null,null,_,h)),t.ɵdid(1,114688,null,0,c.DomainRulesComponent,[p.ApiService,a.I18nService,f.Angulartics2,v.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_DomainRulesComponent=h,l.View_DomainRulesComponent_0=_,l.View_DomainRulesComponent_Host_0=I;var A=t.ɵccf("app-domain-rules",c.DomainRulesComponent,I,{},{},[]);l.DomainRulesComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(7),i=e(2),r=e(5),a=e(272),s=e(117),d=e(61),c=e(3),p=e(9),f=t.ɵcrt({encapsulation:2,styles:[],data:{}});function v(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,3,"option",[],null,null,null,null,null)),t.ɵdid(1,147456,null,0,u.NgSelectOption,[t.ElementRef,t.Renderer2,[2,u.SelectControlValueAccessor]],{ngValue:[0,"ngValue"]},null),t.ɵdid(2,147456,null,0,u.ɵq,[t.ElementRef,t.Renderer2,[8,null]],{ngValue:[0,"ngValue"]},null),(n()(),t.ɵted(3,null,["",""]))],function(n,l){n(l,1,0,l.context.$implicit.value),n(l,2,0,l.context.$implicit.value)},function(n,l){n(l,3,0,l.context.$implicit.name)})}function h(n){return t.ɵvid(0,[t.ɵpid(0,o.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(4,null,["",""])),t.ɵppd(5,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(8,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(9,null,["",""])),t.ɵppd(10,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(12,0,null,null,72,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,13).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,13).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(13,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(15,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,35,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,32,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(21,0,null,null,29,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,11,"div",[["class","d-flex"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(25,0,null,null,2,"label",[["for","locale"]],null,null,null,null,null)),(n()(),t.ɵted(26,null,["",""])),t.ɵppd(27,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(29,0,null,null,4,"a",[["class","ml-auto"],["href","https://help.bitwarden.com/article/localization/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(30,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(32,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,9,"select",[["class","form-control"],["id","locale"],["name","Locale"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,37).onChange(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,37).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.locale=e)&&u);return u},null,null)),t.ɵdid(37,16384,null,0,u.SelectControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.SelectControlValueAccessor]),t.ɵdid(39,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(41,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,v)),t.ɵdid(44,802816,null,0,r.NgForOf,[t.ViewContainerRef,t.TemplateRef,t.IterableDiffers],{ngForOf:[0,"ngForOf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(47,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(48,null,["",""])),t.ɵppd(49,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(54,0,null,null,25,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,18,"div",[["class","form-check"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(58,0,null,null,5,"input",[["class","form-check-input"],["id","disableIcons"],["name","DisableIcons"],["type","checkbox"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"change"],[null,"blur"]],function(n,l,e){var u=!0,o=n.component;"change"===l&&(u=!1!==t.ɵnov(n,59).onChange(e.target.checked)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,59).onTouched()&&u);"ngModelChange"===l&&(u=!1!==(o.disableIcons=e)&&u);return u},null,null)),t.ɵdid(59,16384,null,0,u.CheckboxControlValueAccessor,[t.Renderer2,t.ElementRef],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.CheckboxControlValueAccessor]),t.ɵdid(61,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(63,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"label",[["class","form-check-label"],["for","disableIcons"]],null,null,null,null,null)),(n()(),t.ɵted(66,null,["\n ","\n "])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,4,"a",[["href","https://help.bitwarden.com/article/website-icons/"],["rel","noopener"],["target","_blank"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(70,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(72,0,null,null,0,"i",[["class","fa fa-question-circle-o"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(76,0,null,null,2,"small",[["class","form-text text-muted"]],null,null,null,null,null)),(n()(),t.ɵted(77,null,["",""])),t.ɵppd(78,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(81,0,null,null,2,"button",[["class","btn btn-primary"],["type","submit"]],null,null,null,null,null)),(n()(),t.ɵted(82,null,["\n ","\n "])),t.ɵppd(83,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,39,0,"Locale",e.locale),n(l,44,0,e.localeOptions);n(l,61,0,"DisableIcons",e.disableIcons)},function(n,l){n(l,4,0,t.ɵunv(l,4,0,n(l,5,0,t.ɵnov(l,0),"options"))),n(l,9,0,t.ɵunv(l,9,0,n(l,10,0,t.ɵnov(l,0),"optionsDesc"))),n(l,12,0,t.ɵnov(l,15).ngClassUntouched,t.ɵnov(l,15).ngClassTouched,t.ɵnov(l,15).ngClassPristine,t.ɵnov(l,15).ngClassDirty,t.ɵnov(l,15).ngClassValid,t.ɵnov(l,15).ngClassInvalid,t.ɵnov(l,15).ngClassPending),n(l,26,0,t.ɵunv(l,26,0,n(l,27,0,t.ɵnov(l,0),"language"))),n(l,29,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,29,0,n(l,30,0,t.ɵnov(l,0),"learnMore")),"")),n(l,36,0,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,48,0,t.ɵunv(l,48,0,n(l,49,0,t.ɵnov(l,0),"languageDesc"))),n(l,58,0,t.ɵnov(l,63).ngClassUntouched,t.ɵnov(l,63).ngClassTouched,t.ɵnov(l,63).ngClassPristine,t.ɵnov(l,63).ngClassDirty,t.ɵnov(l,63).ngClassValid,t.ɵnov(l,63).ngClassInvalid,t.ɵnov(l,63).ngClassPending),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l,0),"disableIcons"))),n(l,69,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,69,0,n(l,70,0,t.ɵnov(l,0),"learnMore")),"")),n(l,77,0,t.ɵunv(l,77,0,n(l,78,0,t.ɵnov(l,0),"disableIconsDesc"))),n(l,82,0,t.ɵunv(l,82,0,n(l,83,0,t.ɵnov(l,0),"save")))})}function g(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-options",[],null,null,null,h,f)),t.ɵdid(1,114688,null,0,a.OptionsComponent,[s.StorageService,d.StateService,c.Angulartics2,i.I18nService,p.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_OptionsComponent=f,l.View_OptionsComponent_0=h,l.View_OptionsComponent_Host_0=g;var m=t.ɵccf("app-options",a.OptionsComponent,g,{},{},[]);l.OptionsComponentNgFactory=m},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(73).PasswordVerificationRequest);l.PasswordRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(40),r=e(37),a=e(13),s=e(18),d=e(17),c=e(46),p=e(553),f=e(4),v=e(3),h=e(9),g=e(20),m=e(27),y=e(21),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),(n()(),t.ɵeld(1,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,i.View_CalloutComponent_0,i.RenderType_CalloutComponent)),t.ɵdid(2,114688,null,0,r.CalloutComponent,[o.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(3,0,["",""])),t.ɵppd(4,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(6,0,[["form",1]],null,72,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,7).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,7).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(7,4210688,null,0,a.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,a.ControlContainer,null,[a.NgForm]),t.ɵdid(9,16384,null,0,a.NgControlStatusGroup,[a.ControlContainer],null,null),t.ɵdid(10,540672,null,0,s.ApiActionDirective,[t.ElementRef,d.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,55,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(14,0,null,null,52,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(18,0,null,null,2,"label",[["for","currentMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(19,null,["",""])),t.ɵppd(20,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(22,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","currentMasterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,23)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,23).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,23)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,23)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.currentMasterPassword=e)&&u);return u},null,null)),t.ɵdid(23,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(24,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(27,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(29,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(30,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(33,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(35,0,null,null,2,"label",[["for","newMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(36,null,["",""])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(39,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","newMasterPassword"],["name","NewMasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,40)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,40).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,40)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,40)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.newMasterPassword=e)&&u);return u},null,null)),t.ɵdid(40,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(41,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(44,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(46,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(47,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,2,"label",[["for","confirmNewMasterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(53,null,["",""])),t.ɵppd(54,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(56,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","confirmNewMasterPassword"],["name","ConfirmNewMasterPasswordHash"],["required",""],["type","password"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,57)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,57).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,57)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,57)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.confirmNewMasterPassword=e)&&u);return u},null,null)),t.ɵdid(57,16384,null,0,a.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,a.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(58,16384,null,0,a.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,a.NG_VALIDATORS,function(n){return[n]},[a.RequiredValidator]),t.ɵprd(1024,null,a.NG_VALUE_ACCESSOR,function(n){return[n]},[a.DefaultValueAccessor]),t.ɵdid(61,671744,null,0,a.NgModel,[[2,a.ControlContainer],[2,a.NG_VALIDATORS],[8,null],[2,a.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,a.NgControl,null,[a.NgModel]),t.ɵdid(63,16384,null,0,a.NgControlStatus,[a.NgControl],null,null),t.ɵdid(64,81920,null,0,c.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(69,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(71,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(72,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(74,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(75,null,["",""])),t.ɵppd(76,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,"warning"),n(l,10,0,e.formPromise);n(l,24,0,"");n(l,27,0,"MasterPasswordHash",e.currentMasterPassword);n(l,30,0,"");n(l,41,0,"");n(l,44,0,"NewMasterPasswordHash",e.newMasterPassword);n(l,47,0,"");n(l,58,0,"");n(l,61,0,"ConfirmNewMasterPasswordHash",e.confirmNewMasterPassword);n(l,64,0,"")},function(n,l){n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),"loggedOutWarning"))),n(l,6,0,t.ɵnov(l,9).ngClassUntouched,t.ɵnov(l,9).ngClassTouched,t.ɵnov(l,9).ngClassPristine,t.ɵnov(l,9).ngClassDirty,t.ɵnov(l,9).ngClassValid,t.ɵnov(l,9).ngClassInvalid,t.ɵnov(l,9).ngClassPending),n(l,19,0,t.ɵunv(l,19,0,n(l,20,0,t.ɵnov(l,0),"currentMasterPass"))),n(l,22,0,t.ɵnov(l,24).required?"":null,t.ɵnov(l,29).ngClassUntouched,t.ɵnov(l,29).ngClassTouched,t.ɵnov(l,29).ngClassPristine,t.ɵnov(l,29).ngClassDirty,t.ɵnov(l,29).ngClassValid,t.ɵnov(l,29).ngClassInvalid,t.ɵnov(l,29).ngClassPending),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"newMasterPass"))),n(l,39,0,t.ɵnov(l,41).required?"":null,t.ɵnov(l,46).ngClassUntouched,t.ɵnov(l,46).ngClassTouched,t.ɵnov(l,46).ngClassPristine,t.ɵnov(l,46).ngClassDirty,t.ɵnov(l,46).ngClassValid,t.ɵnov(l,46).ngClassInvalid,t.ɵnov(l,46).ngClassPending),n(l,53,0,t.ɵunv(l,53,0,n(l,54,0,t.ɵnov(l,0),"confirmNewMasterPass"))),n(l,56,0,t.ɵnov(l,58).required?"":null,t.ɵnov(l,63).ngClassUntouched,t.ɵnov(l,63).ngClassTouched,t.ɵnov(l,63).ngClassPristine,t.ɵnov(l,63).ngClassDirty,t.ɵnov(l,63).ngClassValid,t.ɵnov(l,63).ngClassInvalid,t.ɵnov(l,63).ngClassPending),n(l,69,0,t.ɵnov(l,6).loading),n(l,71,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,71,0,n(l,72,0,t.ɵnov(l,0),"loading")),"")),n(l,75,0,t.ɵunv(l,75,0,n(l,76,0,t.ɵnov(l,0),"changeMasterPassword")))})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-change-password",[],null,null,null,b,C)),t.ɵdid(1,49152,null,0,p.ChangePasswordComponent,[f.ApiService,o.I18nService,v.Angulartics2,h.ToasterService,g.CryptoService,m.MessagingService,y.UserService],null,null)],null,null)}l.RenderType_ChangePasswordComponent=C,l.View_ChangePasswordComponent_0=b,l.View_ChangePasswordComponent_Host_0=S;var w=t.ɵccf("app-change-password",p.ChangePasswordComponent,S,{},{},[]);l.ChangePasswordComponentNgFactory=w},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(){return null!==n&&n.apply(this,arguments)||this}return u(l,n),l}(e(554).EmailTokenRequest);l.EmailRequest=o},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(40),o=e(37),i=e(2),r=e(13),a=e(46),s=e(7),d=e(18),c=e(17),p=e(5),f=e(555),v=e(4),h=e(3),g=e(9),m=e(20),y=e(27),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,35,null,null,null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,0,"hr",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(4,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(5,null,["",""])),t.ɵppd(6,2),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,3,"app-callout",[["type","warning"]],null,null,null,u.View_CalloutComponent_0,u.RenderType_CalloutComponent)),t.ɵdid(9,114688,null,0,o.CalloutComponent,[i.I18nService],{type:[0,"type"]},null),(n()(),t.ɵted(10,0,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,21,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,18,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(19,0,null,null,2,"label",[["for","token"]],null,null,null,null,null)),(n()(),t.ɵted(20,null,["",""])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","token"],["name","Token"],["required",""],["type","text"]],[[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,24)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,24).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,24)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,24)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.token=e)&&u);return u},null,null)),t.ɵdid(24,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(25,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(28,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(30,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(31,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "]))],function(n,l){var e=l.component;n(l,9,0,"warning");n(l,25,0,"");n(l,28,0,"Token",e.token);n(l,31,0,"")},function(n,l){var e=l.component;n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"changeEmailDesc",e.newEmail))),n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l.parent,0),"loggedOutWarning"))),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l.parent,0),"code"))),n(l,23,0,t.ɵnov(l,25).required?"":null,t.ɵnov(l,30).ngClassUntouched,t.ɵnov(l,30).ngClassTouched,t.ɵnov(l,30).ngClassPristine,t.ɵnov(l,30).ngClassDirty,t.ɵnov(l,30).ngClassValid,t.ɵnov(l,30).ngClassInvalid,t.ɵnov(l,30).ngClassPending)})}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"continue")))})}function w(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(1,null,["",""])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"changeEmail")))})}function R(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,2,"button",[["class","btn btn-outline-secondary"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.reset()&&t);return t},null,null)),(n()(),t.ɵted(1,null,["\n ","\n "])),t.ɵppd(2,1)],null,function(n,l){n(l,1,0,t.ɵunv(l,1,0,n(l,2,0,t.ɵnov(l.parent,0),"cancel")))})}function _(n){return t.ɵvid(0,[t.ɵpid(0,s.I18nPipe,[i.I18nService]),(n()(),t.ɵeld(1,0,[["form",1]],null,63,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,2).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,2).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(2,4210688,null,0,r.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,r.ControlContainer,null,[r.NgForm]),t.ɵdid(4,16384,null,0,r.NgControlStatusGroup,[r.ControlContainer],null,null),t.ɵdid(5,540672,null,0,d.ApiActionDirective,[t.ElementRef,c.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,38,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,35,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(11,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,2,"label",[["for","masterPassword"]],null,null,null,null,null)),(n()(),t.ɵted(14,null,["",""])),t.ɵppd(15,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(17,0,null,null,8,"input",[["appInputVerbatim",""],["class","form-control"],["id","masterPassword"],["name","MasterPasswordHash"],["required",""],["type","password"]],[[8,"readOnly",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,18)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,18).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,18)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,18)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.masterPassword=e)&&u);return u},null,null)),t.ɵdid(18,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(19,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(22,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(24,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(25,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(28,0,null,null,15,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,2,"label",[["for","newEmail"]],null,null,null,null,null)),(n()(),t.ɵted(31,null,["",""])),t.ɵppd(32,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(34,0,null,null,8,"input",[["appInputVerbatim","false"],["class","form-control"],["id","newEmail"],["inputmode","email"],["name","NewEmail"],["required",""],["type","text"]],[[8,"readOnly",0],[1,"required",0],[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,35)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,35).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,35)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,35)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.newEmail=e)&&u);return u},null,null)),t.ɵdid(35,16384,null,0,r.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,r.COMPOSITION_BUFFER_MODE]],null,null),t.ɵdid(36,16384,null,0,r.RequiredValidator,[],{required:[0,"required"]},null),t.ɵprd(1024,null,r.NG_VALIDATORS,function(n){return[n]},[r.RequiredValidator]),t.ɵprd(1024,null,r.NG_VALUE_ACCESSOR,function(n){return[n]},[r.DefaultValueAccessor]),t.ɵdid(39,671744,null,0,r.NgModel,[[2,r.ControlContainer],[2,r.NG_VALIDATORS],[8,null],[2,r.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,r.NgControl,null,[r.NgModel]),t.ɵdid(41,16384,null,0,r.NgControlStatus,[r.NgControl],null,null),t.ɵdid(42,81920,null,0,a.InputVerbatimDirective,[t.ElementRef,t.Renderer2],{appInputVerbatim:[0,"appInputVerbatim"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,b)),t.ɵdid(48,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(50,0,null,null,10,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(52,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(53,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,S)),t.ɵdid(56,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,w)),t.ɵdid(59,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,R)),t.ɵdid(63,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,5,0,e.formPromise);n(l,19,0,"");n(l,22,0,"MasterPasswordHash",e.masterPassword);n(l,25,0,"");n(l,36,0,"");n(l,39,0,"NewEmail",e.newEmail);n(l,42,0,"false"),n(l,48,0,e.tokenSent),n(l,56,0,!e.tokenSent),n(l,59,0,e.tokenSent),n(l,63,0,e.tokenSent)},function(n,l){var e=l.component;n(l,1,0,t.ɵnov(l,4).ngClassUntouched,t.ɵnov(l,4).ngClassTouched,t.ɵnov(l,4).ngClassPristine,t.ɵnov(l,4).ngClassDirty,t.ɵnov(l,4).ngClassValid,t.ɵnov(l,4).ngClassInvalid,t.ɵnov(l,4).ngClassPending),n(l,14,0,t.ɵunv(l,14,0,n(l,15,0,t.ɵnov(l,0),"masterPass"))),n(l,17,0,e.tokenSent,t.ɵnov(l,19).required?"":null,t.ɵnov(l,24).ngClassUntouched,t.ɵnov(l,24).ngClassTouched,t.ɵnov(l,24).ngClassPristine,t.ɵnov(l,24).ngClassDirty,t.ɵnov(l,24).ngClassValid,t.ɵnov(l,24).ngClassInvalid,t.ɵnov(l,24).ngClassPending),n(l,31,0,t.ɵunv(l,31,0,n(l,32,0,t.ɵnov(l,0),"newEmail"))),n(l,34,0,e.tokenSent,t.ɵnov(l,36).required?"":null,t.ɵnov(l,41).ngClassUntouched,t.ɵnov(l,41).ngClassTouched,t.ɵnov(l,41).ngClassPristine,t.ɵnov(l,41).ngClassDirty,t.ɵnov(l,41).ngClassValid,t.ɵnov(l,41).ngClassInvalid,t.ɵnov(l,41).ngClassPending),n(l,50,0,t.ɵnov(l,1).loading),n(l,52,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,52,0,n(l,53,0,t.ɵnov(l,0),"loading")),""))})}function I(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-change-email",[],null,null,null,_,C)),t.ɵdid(1,49152,null,0,f.ChangeEmailComponent,[v.ApiService,i.I18nService,h.Angulartics2,g.ToasterService,m.CryptoService,y.MessagingService],null,null)],null,null)}l.RenderType_ChangeEmailComponent=C,l.View_ChangeEmailComponent_0=_,l.View_ChangeEmailComponent_Host_0=I;var A=t.ɵccf("app-change-email",f.ChangeEmailComponent,I,{},{},[]);l.ChangeEmailComponentNgFactory=A},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(n,l){this.culture="en-US",this.name=n,this.masterPasswordHint=l||null}}();l.UpdateProfileRequest=t},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(13),o=e(18),i=e(17),r=e(130),a=e(116),s=e(42),d=e(7),c=e(2),p=e(5),f=e(556),v=e(4),h=e(3),g=e(9),m=t.ɵcrt({encapsulation:2,styles:[],data:{}});function y(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,4,"div",[],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(2,0,null,null,1,"i",[["class","fa fa-spinner fa-spin text-muted"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(3,1),(n()(),t.ɵted(-1,null,["\n"]))],null,function(n,l){n(l,2,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,2,0,n(l,3,0,t.ɵnov(l.parent,0),"loading")),""))})}function C(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,[["form",1]],null,69,"form",[["ngNativeValidate",""]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngSubmit"],[null,"submit"],[null,"reset"]],function(n,l,e){var u=!0,o=n.component;"submit"===l&&(u=!1!==t.ɵnov(n,1).onSubmit(e)&&u);"reset"===l&&(u=!1!==t.ɵnov(n,1).onReset()&&u);"ngSubmit"===l&&(u=!1!==o.submit()&&u);return u},null,null)),t.ɵdid(1,4210688,null,0,u.NgForm,[[8,null],[8,null]],null,{ngSubmit:"ngSubmit"}),t.ɵprd(2048,null,u.ControlContainer,null,[u.NgForm]),t.ɵdid(3,16384,null,0,u.NgControlStatusGroup,[u.ControlContainer],null,null),t.ɵdid(4,540672,null,0,o.ApiActionDirective,[t.ElementRef,i.ValidationService],{appApiAction:[0,"appApiAction"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,52,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(8,0,null,null,43,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(10,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(12,0,null,null,2,"label",[["for","name"]],null,null,null,null,null)),(n()(),t.ɵted(13,null,["",""])),t.ɵppd(14,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,5,"input",[["class","form-control"],["id","name"],["name","Name"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,17)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,17).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,17)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,17)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.name=e)&&u);return u},null,null)),t.ɵdid(17,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(19,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(21,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(24,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"label",[["for","email"]],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(30,0,null,null,5,"input",[["class","form-control"],["id","email"],["name","Email"],["readonly",""],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,31)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,31).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,31)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,31)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.email=e)&&u);return u},null,null)),t.ɵdid(31,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(33,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(35,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(38,0,null,null,12,"div",[["class","form-group"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(40,0,null,null,2,"label",[["for","masterPasswordHint"]],null,null,null,null,null)),(n()(),t.ɵted(41,null,["",""])),t.ɵppd(42,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(44,0,null,null,5,"input",[["class","form-control"],["id","masterPasswordHint"],["name","MasterPasswordHint"],["type","text"]],[[2,"ng-untouched",null],[2,"ng-touched",null],[2,"ng-pristine",null],[2,"ng-dirty",null],[2,"ng-valid",null],[2,"ng-invalid",null],[2,"ng-pending",null]],[[null,"ngModelChange"],[null,"input"],[null,"blur"],[null,"compositionstart"],[null,"compositionend"]],function(n,l,e){var u=!0,o=n.component;"input"===l&&(u=!1!==t.ɵnov(n,45)._handleInput(e.target.value)&&u);"blur"===l&&(u=!1!==t.ɵnov(n,45).onTouched()&&u);"compositionstart"===l&&(u=!1!==t.ɵnov(n,45)._compositionStart()&&u);"compositionend"===l&&(u=!1!==t.ɵnov(n,45)._compositionEnd(e.target.value)&&u);"ngModelChange"===l&&(u=!1!==(o.profile.masterPasswordHint=e)&&u);return u},null,null)),t.ɵdid(45,16384,null,0,u.DefaultValueAccessor,[t.Renderer2,t.ElementRef,[2,u.COMPOSITION_BUFFER_MODE]],null,null),t.ɵprd(1024,null,u.NG_VALUE_ACCESSOR,function(n){return[n]},[u.DefaultValueAccessor]),t.ɵdid(47,671744,null,0,u.NgModel,[[2,u.ControlContainer],[8,null],[8,null],[2,u.NG_VALUE_ACCESSOR]],{name:[0,"name"],model:[1,"model"]},{update:"ngModelChange"}),t.ɵprd(2048,null,u.NgControl,null,[u.NgModel]),t.ɵdid(49,16384,null,0,u.NgControlStatus,[u.NgControl],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,4,"div",[["class","col-6"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(55,0,null,null,1,"app-avatar",[["dynamic","true"],["fontSize","35"],["height","75"],["width","75"]],null,null,null,r.View_AvatarComponent_0,r.RenderType_AvatarComponent)),t.ɵdid(56,638976,null,0,a.AvatarComponent,[s.DomSanitizer],{data:[0,"data"],width:[1,"width"],height:[2,"height"],fontSize:[3,"fontSize"],dynamic:[4,"dynamic"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(60,0,null,null,8,"button",[["class","btn btn-primary btn-submit"],["type","submit"]],[[8,"disabled",0]],null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(62,0,null,null,1,"i",[["class","fa fa-spinner fa-spin"]],[[8,"title",0]],null,null,null,null)),t.ɵppd(63,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(65,0,null,null,2,"span",[],null,null,null,null,null)),(n()(),t.ɵted(66,null,["",""])),t.ɵppd(67,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,4,0,e.formPromise);n(l,19,0,"Name",e.profile.name);n(l,33,0,"Email",e.profile.email);n(l,47,0,"MasterPasswordHint",e.profile.masterPasswordHint);n(l,56,0,t.ɵinlineInterpolate(1,"",e.profile.name||e.profile.email,""),"75","75","35","true")},function(n,l){n(l,0,0,t.ɵnov(l,3).ngClassUntouched,t.ɵnov(l,3).ngClassTouched,t.ɵnov(l,3).ngClassPristine,t.ɵnov(l,3).ngClassDirty,t.ɵnov(l,3).ngClassValid,t.ɵnov(l,3).ngClassInvalid,t.ɵnov(l,3).ngClassPending),n(l,13,0,t.ɵunv(l,13,0,n(l,14,0,t.ɵnov(l.parent,0),"name"))),n(l,16,0,t.ɵnov(l,21).ngClassUntouched,t.ɵnov(l,21).ngClassTouched,t.ɵnov(l,21).ngClassPristine,t.ɵnov(l,21).ngClassDirty,t.ɵnov(l,21).ngClassValid,t.ɵnov(l,21).ngClassInvalid,t.ɵnov(l,21).ngClassPending),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l.parent,0),"email"))),n(l,30,0,t.ɵnov(l,35).ngClassUntouched,t.ɵnov(l,35).ngClassTouched,t.ɵnov(l,35).ngClassPristine,t.ɵnov(l,35).ngClassDirty,t.ɵnov(l,35).ngClassValid,t.ɵnov(l,35).ngClassInvalid,t.ɵnov(l,35).ngClassPending),n(l,41,0,t.ɵunv(l,41,0,n(l,42,0,t.ɵnov(l.parent,0),"masterPassHintLabel"))),n(l,44,0,t.ɵnov(l,49).ngClassUntouched,t.ɵnov(l,49).ngClassTouched,t.ɵnov(l,49).ngClassPristine,t.ɵnov(l,49).ngClassDirty,t.ɵnov(l,49).ngClassValid,t.ɵnov(l,49).ngClassInvalid,t.ɵnov(l,49).ngClassPending),n(l,60,0,t.ɵnov(l,0).loading),n(l,62,0,t.ɵinlineInterpolate(1,"",t.ɵunv(l,62,0,n(l,63,0,t.ɵnov(l.parent,0),"loading")),"")),n(l,66,0,t.ɵunv(l,66,0,n(l,67,0,t.ɵnov(l.parent,0),"save")))})}function b(n){return t.ɵvid(0,[t.ɵpid(0,d.I18nPipe,[c.I18nService]),(n()(),t.ɵand(16777216,null,null,1,null,y)),t.ɵdid(2,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,null,null,1,null,C)),t.ɵdid(5,16384,null,0,p.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,2,0,e.loading),n(l,5,0,e.profile&&!e.loading)},null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-profile",[],null,null,null,b,m)),t.ɵdid(1,114688,null,0,f.ProfileComponent,[v.ApiService,c.I18nService,h.Angulartics2,g.ToasterService],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_ProfileComponent=m,l.View_ProfileComponent_0=b,l.View_ProfileComponent_Host_0=S;var w=t.ɵccf("app-profile",f.ProfileComponent,S,{},{},[]);l.ProfileComponentNgFactory=w},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(7),o=e(2),i=e(796),r=e(556),a=e(4),s=e(3),d=e(9),c=e(794),p=e(555),f=e(20),v=e(27),h=e(792),g=e(553),m=e(21),y=e(273),C=t.ɵcrt({encapsulation:2,styles:[],data:{}});function b(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function S(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function w(n){return t.ɵvid(0,[(n()(),t.ɵand(0,null,null,0))],null,null)}function R(n){return t.ɵvid(0,[t.ɵpid(0,u.I18nPipe,[o.I18nService]),t.ɵqud(402653184,1,{deauthModalRef:0}),t.ɵqud(402653184,2,{purgeModalRef:0}),t.ɵqud(402653184,3,{deleteModalRef:0}),(n()(),t.ɵeld(4,0,null,null,5,"div",[["class","page-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(6,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(7,null,["",""])),t.ɵppd(8,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(11,0,null,null,1,"app-profile",[],null,null,null,i.View_ProfileComponent_0,i.RenderType_ProfileComponent)),t.ɵdid(12,114688,null,0,r.ProfileComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(14,0,null,null,5,"div",[["class","secondary-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(16,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(17,null,["",""])),t.ɵppd(18,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(21,0,null,null,1,"app-change-email",[],null,null,null,c.View_ChangeEmailComponent_0,c.RenderType_ChangeEmailComponent)),t.ɵdid(22,49152,null,0,p.ChangeEmailComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService,f.CryptoService,v.MessagingService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(24,0,null,null,5,"div",[["class","secondary-header"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(26,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(27,null,["",""])),t.ɵppd(28,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(31,0,null,null,1,"app-change-password",[],null,null,null,h.View_ChangePasswordComponent_0,h.RenderType_ChangePasswordComponent)),t.ɵdid(32,49152,null,0,g.ChangePasswordComponent,[a.ApiService,o.I18nService,s.Angulartics2,d.ToasterService,f.CryptoService,v.MessagingService,m.UserService],null,null),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(34,0,null,null,5,"div",[["class","secondary-header text-danger border-0 mb-0"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(36,0,null,null,2,"h1",[],null,null,null,null,null)),(n()(),t.ɵted(37,null,["",""])),t.ɵppd(38,1),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵeld(41,0,null,null,20,"div",[["class","card border-danger"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(43,0,null,null,17,"div",[["class","card-body"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,2,"p",[],null,null,null,null,null)),(n()(),t.ɵted(46,null,["",""])),t.ɵppd(47,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(49,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deauthorizeSessions()&&t);return t},null,null)),(n()(),t.ɵted(50,null,["",""])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.purgeVault()&&t);return t},null,null)),(n()(),t.ɵted(54,null,["",""])),t.ɵppd(55,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(57,0,null,null,2,"button",[["class","btn btn-outline-danger"],["type","button"]],null,[[null,"click"]],function(n,l,e){var t=!0,u=n.component;"click"===l&&(t=!1!==u.deleteAccount()&&t);return t},null,null)),(n()(),t.ɵted(58,null,["",""])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[1,3],["deauthorizeSessionsTemplate",2]],null,0,null,b)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[2,3],["purgeVaultTemplate",2]],null,0,null,S)),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵand(16777216,[[3,3],["deleteAccountTemplate",2]],null,0,null,w)),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){n(l,12,0)},function(n,l){n(l,7,0,t.ɵunv(l,7,0,n(l,8,0,t.ɵnov(l,0),"myAccount"))),n(l,17,0,t.ɵunv(l,17,0,n(l,18,0,t.ɵnov(l,0),"changeEmail"))),n(l,27,0,t.ɵunv(l,27,0,n(l,28,0,t.ɵnov(l,0),"changeMasterPassword"))),n(l,37,0,t.ɵunv(l,37,0,n(l,38,0,t.ɵnov(l,0),"dangerZone"))),n(l,46,0,t.ɵunv(l,46,0,n(l,47,0,t.ɵnov(l,0),"dangerZoneDesc"))),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"deauthorizeSessions"))),n(l,54,0,t.ɵunv(l,54,0,n(l,55,0,t.ɵnov(l,0),"purgeVault"))),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"deleteAccount")))})}function _(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-account",[],null,null,null,R,C)),t.ɵdid(1,49152,null,0,y.AccountComponent,[t.ComponentFactoryResolver],null,null)],null,null)}l.RenderType_AccountComponent=C,l.View_AccountComponent_0=R,l.View_AccountComponent_Host_0=_;var I=t.ɵccf("app-account",y.AccountComponent,_,{},{},[]);l.AccountComponentNgFactory=I},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=e(10),o=e(5),i=e(7),r=e(2),a=e(274),s=e(35),d=e(160),c=t.ɵcrt({encapsulation:2,styles:[],data:{}});function p(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","billing"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[8,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,7,{links:1}),t.ɵqud(603979776,8,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"billing");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"billingAndLicensing")))})}function f(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,6,"a",[["class","list-group-item"],["routerLink","premium"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,1).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(1,671744,[[10,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(2,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,9,{links:1}),t.ɵqud(603979776,10,{linksWithHrefs:1}),(n()(),t.ɵted(5,null,["\n ","\n "])),t.ɵppd(6,1)],function(n,l){n(l,1,0,"premium");n(l,2,0,"active")},function(n,l){n(l,0,0,t.ɵnov(l,1).target,t.ɵnov(l,1).href),n(l,5,0,t.ɵunv(l,5,0,n(l,6,0,t.ɵnov(l.parent,0),"goPremium")))})}function v(n){return t.ɵvid(0,[t.ɵpid(0,i.I18nPipe,[r.I18nService]),(n()(),t.ɵeld(1,0,null,null,69,"div",[["class","container page-content"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(3,0,null,null,66,"div",[["class","row"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(5,0,null,null,57,"div",[["class","col-3"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(7,0,null,null,54,"div",[["class","card"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(9,0,null,null,2,"div",[["class","card-header"]],null,null,null,null,null)),(n()(),t.ɵted(10,null,["",""])),t.ɵppd(11,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(13,0,null,null,47,"div",[["class","list-group list-group-flush"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(15,0,null,null,6,"a",[["class","list-group-item"],["routerLink","account"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,16).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(16,671744,[[2,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(17,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,1,{links:1}),t.ɵqud(603979776,2,{linksWithHrefs:1}),(n()(),t.ɵted(20,null,["\n ","\n "])),t.ɵppd(21,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(23,0,null,null,6,"a",[["class","list-group-item"],["routerLink","options"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,24).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(24,671744,[[4,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(25,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,3,{links:1}),t.ɵqud(603979776,4,{linksWithHrefs:1}),(n()(),t.ɵted(28,null,["\n ","\n "])),t.ɵppd(29,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(31,0,null,null,6,"a",[["class","list-group-item"],["routerLink","organizations"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,32).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(32,671744,[[6,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(33,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,5,{links:1}),t.ɵqud(603979776,6,{linksWithHrefs:1}),(n()(),t.ɵted(36,null,["\n ","\n "])),t.ɵppd(37,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,p)),t.ɵdid(40,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵand(16777216,null,null,1,null,f)),t.ɵdid(43,16384,null,0,o.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(45,0,null,null,6,"a",[["class","list-group-item"],["routerLink","two-factor"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,46).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(46,671744,[[12,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(47,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,11,{links:1}),t.ɵqud(603979776,12,{linksWithHrefs:1}),(n()(),t.ɵted(50,null,["\n ","\n "])),t.ɵppd(51,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(53,0,null,null,6,"a",[["class","list-group-item"],["routerLink","domain-rules"],["routerLinkActive","active"]],[[1,"target",0],[8,"href",4]],[[null,"click"]],function(n,l,e){var u=!0;"click"===l&&(u=!1!==t.ɵnov(n,54).onClick(e.button,e.ctrlKey,e.metaKey,e.shiftKey)&&u);return u},null,null)),t.ɵdid(54,671744,[[14,4]],0,u.RouterLinkWithHref,[u.Router,u.ActivatedRoute,o.LocationStrategy],{routerLink:[0,"routerLink"]},null),t.ɵdid(55,1720320,null,2,u.RouterLinkActive,[u.Router,t.ElementRef,t.Renderer2,t.ChangeDetectorRef],{routerLinkActive:[0,"routerLinkActive"]},null),t.ɵqud(603979776,13,{links:1}),t.ɵqud(603979776,14,{linksWithHrefs:1}),(n()(),t.ɵted(58,null,["\n ","\n "])),t.ɵppd(59,1),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(64,0,null,null,4,"div",[["class","col-9"]],null,null,null,null,null)),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵeld(66,16777216,null,null,1,"router-outlet",[],null,null,null,null,null)),t.ɵdid(67,212992,null,0,u.RouterOutlet,[u.ChildrenOutletContexts,t.ViewContainerRef,t.ComponentFactoryResolver,[8,null],t.ChangeDetectorRef],null,null),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n "])),(n()(),t.ɵted(-1,null,["\n"])),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,16,0,"account");n(l,17,0,"active");n(l,24,0,"options");n(l,25,0,"active");n(l,32,0,"organizations");n(l,33,0,"active"),n(l,40,0,e.premium),n(l,43,0,!e.premium);n(l,46,0,"two-factor");n(l,47,0,"active");n(l,54,0,"domain-rules");n(l,55,0,"active"),n(l,67,0)},function(n,l){n(l,10,0,t.ɵunv(l,10,0,n(l,11,0,t.ɵnov(l,0),"settings"))),n(l,15,0,t.ɵnov(l,16).target,t.ɵnov(l,16).href),n(l,20,0,t.ɵunv(l,20,0,n(l,21,0,t.ɵnov(l,0),"myAccount"))),n(l,23,0,t.ɵnov(l,24).target,t.ɵnov(l,24).href),n(l,28,0,t.ɵunv(l,28,0,n(l,29,0,t.ɵnov(l,0),"options"))),n(l,31,0,t.ɵnov(l,32).target,t.ɵnov(l,32).href),n(l,36,0,t.ɵunv(l,36,0,n(l,37,0,t.ɵnov(l,0),"organizations"))),n(l,45,0,t.ɵnov(l,46).target,t.ɵnov(l,46).href),n(l,50,0,t.ɵunv(l,50,0,n(l,51,0,t.ɵnov(l,0),"twoStepLogin"))),n(l,53,0,t.ɵnov(l,54).target,t.ɵnov(l,54).href),n(l,58,0,t.ɵunv(l,58,0,n(l,59,0,t.ɵnov(l,0),"domainRules")))})}function h(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-settings",[],null,null,null,v,c)),t.ɵdid(1,245760,null,0,a.SettingsComponent,[s.TokenService,d.BroadcasterService,t.NgZone],null,null)],function(n,l){n(l,1,0)},null)}l.RenderType_SettingsComponent=c,l.View_SettingsComponent_0=v,l.View_SettingsComponent_Host_0=h;var g=t.ɵccf("app-settings",a.SettingsComponent,h,{},{},[]);l.SettingsComponentNgFactory=g},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]104857600)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2];u.label=1;case 1:return u.trys.push([1,4,,5]),this.formPromise=this.saveCipherAttachment(l[0]),e=this,[4,this.formPromise];case 2:return e.cipherDomain=u.sent(),t=this,[4,this.cipherDomain.decrypt()];case 3:return t.cipher=u.sent(),this.analytics.eventTrack.next({action:"Added Attachment"}),this.toasterService.popAsync("success",null,this.i18nService.t("attachmentSaved")),this.onUploadedAttachment.emit(),[3,5];case 4:return u.sent(),[3,5];case 5:return n.type="",n.type="file",n.value="",[2]}})})},n.prototype.delete=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null!=this.deletePromises[n.id]?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteAttachmentConfirmation"),this.i18nService.t("deleteAttachment"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromises[n.id]=this.deleteCipherAttachment(n.id),[4,this.deletePromises[n.id]];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Deleted Attachment"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedAttachment")),(l=this.cipher.attachments.indexOf(n))>-1&&this.cipher.attachments.splice(l,1),[3,5];case 4:return e.sent(),[3,5];case 5:return this.deletePromises[n.id]=null,this.onDeletedAttachment.emit(),[2]}})})},n.prototype.download=function(n){return t(this,void 0,void 0,function(){var l,e,t,o,i;return u(this,function(u){switch(u.label){case 0:return(l=n).downloading?[2]:this.canAccessAttachments?(l.downloading=!0,[4,fetch(new Request(n.url,{cache:"no-cache"}))]):(this.toasterService.popAsync("error",this.i18nService.t("premiumRequired"),this.i18nService.t("premiumRequiredDesc")),[2]);case 1:if(200!==(e=u.sent()).status)return this.toasterService.popAsync("error",null,this.i18nService.t("errorOccurred")),l.downloading=!1,[2];u.label=2;case 2:return u.trys.push([2,6,,7]),[4,e.arrayBuffer()];case 3:return t=u.sent(),[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 4:return o=u.sent(),[4,this.cryptoService.decryptFromBytes(t,o)];case 5:return i=u.sent(),this.platformUtilsService.saveFile(this.win,i,null,n.fileName),[3,7];case 6:return u.sent(),this.toasterService.popAsync("error",null,this.i18nService.t("errorOccurred")),[3,7];case 7:return l.downloading=!1,[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.saveCipherAttachment=function(n){return this.cipherService.saveAttachmentWithServer(this.cipherDomain,n)},n.prototype.deleteCipherAttachment=function(n){return this.cipherService.deleteAttachmentWithServer(this.cipher.id,n)},n}();l.AttachmentsComponent=i},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]-1&&this.cipher.login.uris.splice(l,1)}},n.prototype.addField=function(){null==this.cipher.fields&&(this.cipher.fields=[]);var n=new p.FieldView;n.type=this.addFieldType,this.cipher.fields.push(n)},n.prototype.removeField=function(n){var l=this.cipher.fields.indexOf(n);l>-1&&this.cipher.fields.splice(l,1)},n.prototype.cancel=function(){this.onCancelled.emit(this.cipher)},n.prototype.attachments=function(){this.onEditAttachments.emit(this.cipher)},n.prototype.delete=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteItemConfirmation"),this.i18nService.t("deleteItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromise=this.deleteCipher(),[4,this.deletePromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:"Deleted Cipher"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedItem")),this.onDeletedCipher.emit(this.cipher),[3,5];case 4:return n.sent(),[3,5];case 5:return[2,!0]}})})},n.prototype.generatePassword=function(){return t(this,void 0,void 0,function(){return u(this,function(n){switch(n.label){case 0:return null!=this.cipher.login&&null!=this.cipher.login.password&&this.cipher.login.password.length?[4,this.platformUtilsService.showDialog(this.i18nService.t("overwritePasswordConfirmation"),this.i18nService.t("overwritePassword"),this.i18nService.t("yes"),this.i18nService.t("no"))]:[3,2];case 1:if(!n.sent())return[2,!1];n.label=2;case 2:return this.onGeneratePassword.emit(),[2,!0]}})})},n.prototype.togglePassword=function(){this.analytics.eventTrack.next({action:"Toggled Password on Edit"}),this.showPassword=!this.showPassword,document.getElementById("loginPassword").focus()},n.prototype.toggleCardCode=function(){this.analytics.eventTrack.next({action:"Toggled CardCode on Edit"}),this.showCardCode=!this.showCardCode,document.getElementById("cardCode").focus()},n.prototype.toggleFieldValue=function(n){var l=n;l.showValue=!l.showValue},n.prototype.toggleUriOptions=function(n){var l=n;l.showOptions=(null!=l.showOptions||null==n.match)&&!l.showOptions},n.prototype.loginUriMatchChanged=function(n){var l=n;l.showOptions=null==l.showOptions||l.showOptions},n.prototype.checkPassword=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:return null!=this.checkPasswordPromise?[2]:null==this.cipher.login||null==this.cipher.login.password||""===this.cipher.login.password?[2]:(this.analytics.eventTrack.next({action:"Check Password"}),this.checkPasswordPromise=this.auditService.passwordLeaked(this.cipher.login.password),[4,this.checkPasswordPromise]);case 1:return n=l.sent(),this.checkPasswordPromise=null,n>0?this.toasterService.popAsync("warning",null,this.i18nService.t("passwordExposed",n.toString())):this.toasterService.popAsync("success",null,this.i18nService.t("passwordSafe")),[2]}})})},n.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},n.prototype.encryptCipher=function(){return this.cipherService.encrypt(this.cipher)},n.prototype.saveCipher=function(n){return this.cipherService.saveWithServer(n)},n.prototype.deleteCipher=function(){return this.cipherService.deleteWithServer(this.cipher.id)},n}();l.AddEditComponent=m},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=function(){return function(){this.ciphers=[],this.folders=[]}}();l.UpdateKeyRequest=t},function(n,l,e){"use strict";var t,u=this&&this.__extends||(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,l){n.__proto__=l}||function(n,l){for(var e in l)l.hasOwnProperty(e)&&(n[e]=l[e])},function(n,l){function e(){this.constructor=n}t(n,l),n.prototype=null===l?Object.create(l):(e.prototype=l.prototype,new e)});Object.defineProperty(l,"__esModule",{value:!0});var o=function(n){function l(l){var e=n.call(this,l)||this;return e.id=l.id,e}return u(l,n),l}(e(278).FolderRequest);l.FolderWithIdRequest=o},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0),n(l,6,0,0===l.context.ngIf.length)},null)}function x(n){return t.ɵvid(0,[t.ɵpid(0,p.SearchCiphersPipe,[f.PlatformUtilsService]),t.ɵpid(0,v.I18nPipe,[h.I18nService]),(n()(),t.ɵand(16777216,null,null,2,null,M)),t.ɵdid(3,16384,null,0,r.NgIf,[t.ViewContainerRef,t.TemplateRef],{ngIf:[0,"ngIf"]},null),t.ɵppd(4,2),(n()(),t.ɵted(-1,null,["\n"]))],function(n,l){var e=l.component;n(l,3,0,t.ɵunv(l,3,0,n(l,4,0,t.ɵnov(l,0),e.ciphers,e.searchText)))},null)}function D(n){return t.ɵvid(0,[(n()(),t.ɵeld(0,0,null,null,1,"app-vault-ciphers",[],null,null,null,x,b)),t.ɵdid(1,49152,null,0,g.CiphersComponent,[m.CipherService,y.Angulartics2,C.ToasterService,h.I18nService,f.PlatformUtilsService],null,null)],null,null)}l.RenderType_CiphersComponent=b,l.View_CiphersComponent_0=x,l.View_CiphersComponent_Host_0=D;var U=t.ɵccf("app-vault-ciphers",g.CiphersComponent,D,{activeCipherId:"activeCipherId",showAddNew:"showAddNew"},{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions",onAttachmentsClicked:"onAttachmentsClicked",onShareClicked:"onShareClicked",onCollectionsClicked:"onCollectionsClicked"},[]);l.CiphersComponentNgFactory=U},function(n,l,e){"use strict";var t=this&&this.__awaiter||function(n,l,e,t){return new(e||(e=Promise))(function(u,o){function i(n){try{a(t.next(n))}catch(n){o(n)}}function r(n){try{a(t.throw(n))}catch(n){o(n)}}function a(n){n.done?u(n.value):new e(function(l){l(n.value)}).then(i,r)}a((t=t.apply(n,l||[])).next())})},u=this&&this.__generator||function(n,l){var e,t,u,o,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return o={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function r(o){return function(r){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;i;)try{if(e=1,t&&(u=t[2&o[0]?"return":o[0]?"throw":"next"])&&!(u=u.call(t,o[1])).done)return u;switch(t=0,u&&(o=[0,u.value]),o[0]){case 0:case 1:u=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,t=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(u=(u=i.trys).length>0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1]0&&this.u2f.init({appId:l[0].appId,challenge:l[0].challenge,keys:[{version:l[0].version,keyHandle:l[0].keyHandle}]}),[3,7]):[3,7];case 2:return this.platformUtilsService.getDevice()===o.DeviceType.SafariExtension?[3,7]:(setTimeout(function(){s.init({iframe:void 0,host:n.Host,sig_request:n.Signature,submit_callback:function(n){return t(e,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:return null==(l=n.querySelector('input[name="sig_response"]'))?[3,2]:(this.token=l.value,[4,this.submit()]);case 1:e.sent(),e.label=2;case 2:return[2]}})})}})},0),[3,7]);case 3:return this.twoFactorEmail=n.Email,this.authService.twoFactorProviders.size>1?[4,this.sendEmail(!1)]:[3,5];case 4:r.sent(),r.label=5;case 5:case 6:return[3,7];case 7:return[2]}})})},n.prototype.submit=function(){return t(this,void 0,void 0,function(){var n;return u(this,function(l){switch(l.label){case 0:if(null==this.token||""===this.token)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("verificationCodeRequired")),[2];if(this.selectedProviderType===i.TwoFactorProviderType.U2f){if(null==this.u2f)return[2];this.u2f.stop()}else this.selectedProviderType!==i.TwoFactorProviderType.Email&&this.selectedProviderType!==i.TwoFactorProviderType.Authenticator||(this.token=this.token.replace(" ","").trim());l.label=1;case 1:return l.trys.push([1,3,,4]),this.formPromise=this.authService.logInTwoFactor(this.selectedProviderType,this.token,this.remember),[4,this.formPromise];case 2:return l.sent(),null!=this.onSuccessfulLogin&&this.onSuccessfulLogin(),this.analytics.eventTrack.next({action:"Logged In From Two-step"}),null!=this.onSuccessfulLoginNavigate?this.onSuccessfulLoginNavigate():this.router.navigate([this.successRoute]),[3,4];case 3:if(n=l.sent(),this.selectedProviderType!==i.TwoFactorProviderType.U2f||null==this.u2f)throw n;return this.u2f.start(),[3,4];case 4:return[2]}})})},n.prototype.sendEmail=function(n){return t(this,void 0,void 0,function(){var l;return u(this,function(e){switch(e.label){case 0:if(this.selectedProviderType!==i.TwoFactorProviderType.Email)return[2];if(null!=this.emailPromise)return[2];e.label=1;case 1:return e.trys.push([1,3,,4]),l=new r.TwoFactorEmailRequest(this.authService.email,this.authService.masterPasswordHash),this.emailPromise=this.apiService.postTwoFactorEmail(l),[4,this.emailPromise];case 2:return e.sent(),n&&this.toasterService.popAsync("success",null,this.i18nService.t("verificationCodeEmailSent",this.twoFactorEmail)),[3,4];case 3:return e.sent(),[3,4];case 4:return this.emailPromise=null,[2]}})})},n.prototype.cleanupU2f=function(){null!=this.u2f&&(this.u2f.stop(),this.u2f.cleanup())},n}();l.TwoFactorComponent=c},function(n,l,e){"use strict";Object.defineProperty(l,"__esModule",{value:!0});var t=e(0),u=function(){function n(n){this.componentFactoryResolver=n,this.onClose=new t.EventEmitter,this.onClosed=new t.EventEmitter,this.onShow=new t.EventEmitter,this.onShown=new t.EventEmitter,this.parentContainer=null,this.fade=!0}return n.prototype.ngOnDestroy=function(){document.body.classList.remove("modal-open"),document.body.removeChild(document.querySelector(".modal-backdrop"))},n.prototype.show=function(n,l,e){var t=this;void 0===e&&(e=!0),this.onShow.emit(),this.parentContainer=l,this.fade=e,document.body.classList.add("modal-open");var u=document.createElement("div");u.className="modal-backdrop"+(this.fade?" fade":""),document.body.appendChild(u);var o=this.componentFactoryResolver.resolveComponentFactory(n),i=this.container.createComponent(o);document.querySelector(".modal-dialog").addEventListener("click",function(n){n.stopPropagation()});for(var r=0,a=Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss="modal"]'));r0&&u[u.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!u||o[1]>u[0]&&o[1] string;\r\n translate: (id: string, p1?: string, p2?: string, p3?: string) => string;\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { CollectionUserResponse } from '../models/response/collectionUserResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { GroupUserResponse } from '../models/response/groupUserResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationBillingResponse } from '../models/response/organizationBillingResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport { TwoFactorU2fResponse } from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nexport abstract class ApiService {\n urlsSet: boolean;\n apiBaseUrl: string;\n identityBaseUrl: string;\n\n setUrls: (urls: EnvironmentUrls) => void;\n postIdentityToken: (request: TokenRequest) => Promise;\n refreshIdentityToken: () => Promise;\n\n getProfile: () => Promise;\n getUserBilling: () => Promise;\n putProfile: (request: UpdateProfileRequest) => Promise;\n postEmailToken: (request: EmailTokenRequest) => Promise;\n postEmail: (request: EmailRequest) => Promise;\n postPassword: (request: PasswordRequest) => Promise;\n postSecurityStamp: (request: PasswordVerificationRequest) => Promise;\n deleteAccount: (request: PasswordVerificationRequest) => Promise;\n getAccountRevisionDate: () => Promise;\n postPasswordHint: (request: PasswordHintRequest) => Promise;\n postRegister: (request: RegisterRequest) => Promise;\n postPremium: (data: FormData) => Promise;\n postReinstatePremium: () => Promise;\n postCancelPremium: () => Promise;\n postAccountStorage: (request: StorageRequest) => Promise;\n postAccountPayment: (request: PaymentRequest) => Promise;\n postAccountLicense: (data: FormData) => Promise;\n postAccountKey: (request: UpdateKeyRequest) => Promise;\n postAccountKeys: (request: KeysRequest) => Promise;\n postAccountVerifyEmail: () => Promise;\n postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise;\n postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise;\n postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise;\n\n postFolder: (request: FolderRequest) => Promise;\n putFolder: (id: string, request: FolderRequest) => Promise;\n deleteFolder: (id: string) => Promise;\n\n getCipher: (id: string) => Promise;\n getCipherAdmin: (id: string) => Promise;\n getCiphersOrganization: (organizationId: string) => Promise>;\n postCipher: (request: CipherRequest) => Promise;\n postCipherAdmin: (request: CipherRequest) => Promise;\n putCipher: (id: string, request: CipherRequest) => Promise;\n putCipherAdmin: (id: string, request: CipherRequest) => Promise;\n deleteCipher: (id: string) => Promise;\n deleteCipherAdmin: (id: string) => Promise;\n deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\n putMoveCiphers: (request: CipherBulkMoveRequest) => Promise;\n putShareCipher: (id: string, request: CipherShareRequest) => Promise;\n putShareCiphers: (request: CipherBulkShareRequest) => Promise;\n putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise;\n putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise;\n postPurgeCiphers: (request: PasswordVerificationRequest) => Promise;\n postImportCiphers: (request: ImportCiphersRequest) => Promise;\n postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise;\n\n postCipherAttachment: (id: string, data: FormData) => Promise;\n postCipherAttachmentAdmin: (id: string, data: FormData) => Promise;\n deleteCipherAttachment: (id: string, attachmentId: string) => Promise;\n deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise;\n postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,\n organizationId: string) => Promise;\n\n getCollectionDetails: (organizationId: string, id: string) => Promise;\n getCollections: (organizationId: string) => Promise>;\n getCollectionUsers: (organizationId: string, id: string) => Promise>;\n postCollection: (organizationId: string, request: CollectionRequest) => Promise;\n putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise;\n deleteCollection: (organizationId: string, id: string) => Promise;\n deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getGroupDetails: (organizationId: string, id: string) => Promise;\n getGroups: (organizationId: string) => Promise>;\n getGroupUsers: (organizationId: string, id: string) => Promise>;\n postGroup: (organizationId: string, request: GroupRequest) => Promise;\n putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise;\n deleteGroup: (organizationId: string, id: string) => Promise;\n deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getOrganizationUser: (organizationId: string, id: string) => Promise;\n getOrganizationUserGroups: (organizationId: string, id: string) => Promise;\n getOrganizationUsers: (organizationId: string) => Promise>;\n postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise;\n postOrganizationUserReinvite: (organizationId: string, id: string) => Promise;\n postOrganizationUserAccept: (organizationId: string, id: string,\n request: OrganizationUserAcceptRequest) => Promise;\n postOrganizationUserConfirm: (organizationId: string, id: string,\n request: OrganizationUserConfirmRequest) => Promise;\n putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise;\n putOrganizationUserGroups: (organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest) => Promise;\n deleteOrganizationUser: (organizationId: string, id: string) => Promise;\n\n getSync: () => Promise;\n postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise;\n\n getSettingsDomains: () => Promise;\n putSettingsDomains: (request: UpdateDomainsRequest) => Promise;\n\n getTwoFactorProviders: () => Promise>;\n getTwoFactorOrganizationProviders: (organizationId: string) => Promise>;\n getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorOrganizationDuo: (organizationId: string,\n request: PasswordVerificationRequest) => Promise;\n getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise;\n putTwoFactorAuthenticator: (\n request: UpdateTwoFactorAuthenticatorRequest) => Promise;\n putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise;\n putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorOrganizationDuo: (organizationId: string,\n request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise;\n putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise;\n putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise;\n putTwoFactorOrganizationDisable: (organizationId: string,\n request: TwoFactorProviderRequest) => Promise;\n postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise;\n postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise;\n postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise;\n\n getOrganization: (id: string) => Promise;\n getOrganizationBilling: (id: string) => Promise;\n getOrganizationLicense: (id: string, installationId: string) => Promise;\n postOrganization: (request: OrganizationCreateRequest) => Promise;\n putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise;\n postLeaveOrganization: (id: string) => Promise;\n postOrganizationLicense: (data: FormData) => Promise;\n postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise;\n postOrganizationSeat: (id: string, request: SeatRequest) => Promise;\n postOrganizationStorage: (id: string, request: StorageRequest) => Promise;\n postOrganizationPayment: (id: string, request: PaymentRequest) => Promise;\n postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise;\n postOrganizationCancel: (id: string) => Promise;\n postOrganizationReinstate: (id: string) => Promise;\n deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise;\n\n getEvents: (start: string, end: string, token: string) => Promise>;\n getEventsCipher: (id: string, start: string, end: string, token: string) => Promise>;\n getEventsOrganization: (id: string, start: string, end: string,\n token: string) => Promise>;\n getEventsOrganizationUser: (organizationId: string, id: string,\n start: string, end: string, token: string) => Promise>;\n\n getUserPublicKey: (id: string) => Promise;\n\n fetch: (request: Request) => Promise;\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\r\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\r\n@Pipe({\n name: 'i18n',\n})\r\nexport class I18nPipe implements PipeTransform {\n constructor(private i18nService: I18nService) { }\n\r\n transform(id: string, p1?: string, p2?: string, p3?: string): string {\r\n return this.i18nService.t(id, p1, p2, p3);\r\n }\r\n}\n","import { DeviceType } from '../enums/deviceType';\n\nexport abstract class PlatformUtilsService {\n identityClientId: string;\n getDevice: () => DeviceType;\n getDeviceString: () => string;\n isFirefox: () => boolean;\n isChrome: () => boolean;\n isEdge: () => boolean;\n isOpera: () => boolean;\n isVivaldi: () => boolean;\n isSafari: () => boolean;\n isIE: () => boolean;\n isMacAppStore: () => boolean;\n analyticsId: () => string;\n getDomain: (uriString: string) => string;\n isViewOpen: () => boolean;\n lockTimeout: () => number;\n launchUri: (uri: string, options?: any) => void;\n saveFile: (win: Window, blobData: any, blobOptions: any, fileName: string) => void;\n getApplicationVersion: () => string;\n supportsU2f: (win: Window) => boolean;\n supportsDuo: () => boolean;\n showToast: (type: 'error' | 'success' | 'warning' | 'info', title: string, text: string) => void;\n showDialog: (text: string, title?: string, confirmText?: string, cancelText?: string,\n type?: string) => Promise;\n isDev: () => boolean;\n isSelfHost: () => boolean;\n copyToClipboard: (text: string, options?: any) => void;\n}\n","import { Injectable } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Injectable()\nexport class ValidationService {\n constructor(private toasterService: ToasterService, private i18nService: I18nService) { }\n\n showError(data: any): string[] {\n const defaultErrorMessage = this.i18nService.t('unexpectedError');\n const errors: string[] = [];\n\n if (data != null && typeof data === 'string') {\n errors.push(data);\n } else if (data == null || typeof data !== 'object') {\n errors.push(defaultErrorMessage);\n } else if (data.validationErrors == null) {\n errors.push(data.message ? data.message : defaultErrorMessage);\n } else {\n for (const key in data.validationErrors) {\n if (!data.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n\n data.validationErrors[key].forEach((item: string) => {\n errors.push(item);\n });\n }\n }\n\n if (errors.length > 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), errors[0]);\n }\n\n return errors;\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { ValidationService } from '../services/validation.service';\r\n\r\n@Directive({\r\n selector: '[appApiAction]',\r\n})\r\nexport class ApiActionDirective implements OnChanges {\r\n @Input() appApiAction: Promise;\n\n constructor(private el: ElementRef, private validationService: ValidationService) { }\n\n ngOnChanges(changes: any) {\n if (this.appApiAction == null || this.appApiAction.then == null) {\r\n return;\r\n }\n\n this.el.nativeElement.loading = true;\n\r\n this.appApiAction.then((response: any) => {\n this.el.nativeElement.loading = false;\n }, (e: any) => {\n this.el.nativeElement.loading = false;\n this.validationService.showError(e);\n });\r\n }\r\n}\n","import { CipherString } from '../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nexport abstract class CryptoService {\n setKey: (key: SymmetricCryptoKey) => Promise;\n setKeyHash: (keyHash: string) => Promise<{}>;\n setEncKey: (encKey: string) => Promise<{}>;\n setEncPrivateKey: (encPrivateKey: string) => Promise<{}>;\n setOrgKeys: (orgs: ProfileOrganizationResponse[]) => Promise<{}>;\n getKey: () => Promise;\n getKeyHash: () => Promise;\n getEncKey: () => Promise;\n getPublicKey: () => Promise;\n getPrivateKey: () => Promise;\n getOrgKeys: () => Promise>;\n getOrgKey: (orgId: string) => Promise;\n hasKey: () => Promise;\n hasEncKey: () => Promise;\n clearKey: () => Promise;\n clearKeyHash: () => Promise;\n clearEncKey: (memoryOnly?: boolean) => Promise;\n clearKeyPair: (memoryOnly?: boolean) => Promise;\n clearOrgKeys: (memoryOnly?: boolean) => Promise;\n clearKeys: () => Promise;\n toggleKey: () => Promise;\n makeKey: (password: string, salt: string) => Promise;\n makeShareKey: () => Promise<[CipherString, SymmetricCryptoKey]>;\n makeKeyPair: (key?: SymmetricCryptoKey) => Promise<[string, CipherString]>;\n hashPassword: (password: string, key: SymmetricCryptoKey) => Promise;\n makeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n encrypt: (plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n encryptToBytes: (plainValue: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey?: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n decryptToUtf8: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptFromBytes: (encBuf: ArrayBuffer, key: SymmetricCryptoKey) => Promise;\n randomNumber: (min: number, max: number) => Promise;\n}\n","import { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nexport abstract class UserService {\n userId: string;\n email: string;\n stamp: string;\n\n setUserIdAndEmail: (userId: string, email: string) => Promise;\n setSecurityStamp: (stamp: string) => Promise;\n getUserId: () => Promise;\n getEmail: () => Promise;\n getSecurityStamp: () => Promise;\n clear: () => Promise;\n isAuthenticated: () => Promise;\n getOrganization: (id: string) => Promise;\n getAllOrganizations: () => Promise;\n replaceOrganizations: (organizations: { [id: string]: OrganizationData; }) => Promise;\n clearOrganizations: (userId: string) => Promise;\n}\n","import { CipherType } from '../enums/cipherType';\n\nimport { CipherData } from '../models/data/cipherData';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Field } from '../models/domain/field';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { AttachmentView } from '../models/view/attachmentView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FieldView } from '../models/view/fieldView';\n\nexport abstract class CipherService {\n decryptedCipherCache: CipherView[];\n\n clearCache: () => void;\n encrypt: (model: CipherView, key?: SymmetricCryptoKey) => Promise;\n encryptFields: (fieldsModel: FieldView[], key: SymmetricCryptoKey) => Promise;\n encryptField: (fieldModel: FieldView, key: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n getAllDecryptedForGrouping: (groupingId: string, folder?: boolean) => Promise;\n getAllDecryptedForUrl: (url: string, includeOtherTypes?: CipherType[]) => Promise;\n getLastUsedForUrl: (url: string) => Promise;\n updateLastUsedDate: (id: string) => Promise;\n saveNeverDomain: (domain: string) => Promise;\n saveWithServer: (cipher: Cipher) => Promise;\n shareWithServer: (cipher: CipherView, organizationId: string, collectionIds: string[]) => Promise;\n shareManyWithServer: (ciphers: CipherView[], organizationId: string, collectionIds: string[]) => Promise;\n shareAttachmentWithServer: (attachmentView: AttachmentView, cipherId: string,\n organizationId: string) => Promise;\n saveAttachmentWithServer: (cipher: Cipher, unencryptedFile: any, admin?: boolean) => Promise;\n saveAttachmentRawWithServer: (cipher: Cipher, filename: string, data: ArrayBuffer,\n admin?: boolean) => Promise;\n saveCollectionsWithServer: (cipher: Cipher) => Promise;\n upsert: (cipher: CipherData | CipherData[]) => Promise;\n replace: (ciphers: { [id: string]: CipherData; }) => Promise;\n clear: (userId: string) => Promise;\n moveManyWithServer: (ids: string[], folderId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n deleteManyWithServer: (ids: string[]) => Promise;\n deleteAttachment: (id: string, attachmentId: string) => Promise;\n deleteAttachmentWithServer: (id: string, attachmentId: string) => Promise;\n sortCiphersByLastUsed: (a: any, b: any) => number;\n sortCiphersByLastUsedThenName: (a: any, b: any) => number;\n getLocaleSortingFunction: () => (a: CipherView, b: CipherView) => number;\n}\n","export abstract class MessagingService {\r\n send: (subscriber: string, arg?: any) => void;\r\n}\r\n","import { CipherView } from '../view/cipherView';\nimport { CollectionView } from '../view/collectionView';\nimport { FolderView } from '../view/folderView';\n\nexport class ImportResult {\n success = false;\n errorMessage: string;\n ciphers: CipherView[] = [];\n folders: FolderView[] = [];\n folderRelationships: Array<[number, number]> = [];\n collections: CollectionView[] = [];\n collectionRelationships: Array<[number, number]> = [];\n}\n","import * as papa from 'papaparse';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { LoginUriView } from '../models/view/loginUriView';\n\nimport { Utils } from '../misc/utils';\n\nimport { FieldView } from '../models/view/fieldView';\nimport { FolderView } from '../models/view/folderView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport abstract class BaseImporter {\n organization = false;\n\n protected newLineRegex = /(?:\\r\\n|\\r|\\n)/;\n\n protected passwordFieldNames = [\n 'password', 'pass word', 'passphrase', 'pass phrase',\n 'pass', 'code', 'code word', 'codeword',\n 'secret', 'secret word', 'personpwd',\n 'key', 'keyword', 'key word', 'keyphrase', 'key phrase',\n 'form_pw', 'wppassword', 'pin', 'pwd', 'pw', 'pword', 'passwd',\n 'p', 'serial', 'serial#', 'license key', 'reg #',\n\n // Non-English names\n 'passwort',\n ];\n\n protected usernameFieldNames = [\n 'user', 'name', 'user name', 'username', 'login name',\n 'email', 'e-mail', 'id', 'userid', 'user id',\n 'login', 'form_loginname', 'wpname', 'mail',\n 'loginid', 'login id', 'log', 'personlogin',\n 'first name', 'last name', 'card#', 'account #',\n 'member', 'member #',\n\n // Non-English names\n 'nom', 'benutzername',\n ];\n\n protected notesFieldNames = [\n 'note', 'notes', 'comment', 'comments', 'memo',\n 'description', 'free form', 'freeform',\n 'free text', 'freetext', 'free',\n\n // Non-English names\n 'kommentar',\n ];\n\n protected uriFieldNames: string[] = [\n 'url', 'hyper link', 'hyperlink', 'link',\n 'host', 'hostname', 'host name', 'server', 'address',\n 'hyper ref', 'href', 'web', 'website', 'web site', 'site',\n 'web-site', 'uri',\n\n // Non-English names\n 'ort', 'adresse',\n ];\n\n protected parseXml(data: string): Document {\n const parser = new DOMParser();\n const doc = parser.parseFromString(data, 'application/xml');\n return doc != null && doc.querySelector('parsererror') == null ? doc : null;\n }\n\n protected parseCsv(data: string, header: boolean): any[] {\n data = this.splitNewLine(data).join('\\n').trim();\n const result = papa.parse(data, {\n header: header,\n encoding: 'UTF-8',\n skipEmptyLines: false,\n });\n if (result.errors != null && result.errors.length > 0) {\n result.errors.forEach((e) => {\n // tslint:disable-next-line\n console.warn('Error parsing row ' + e.row + ': ' + e.message);\n });\n }\n return result.data && result.data.length > 0 ? result.data : null;\n }\n\n protected parseSingleRowCsv(rowData: string) {\n if (this.isNullOrWhitespace(rowData)) {\n return null;\n }\n const parsedRow = this.parseCsv(rowData, false);\n if (parsedRow != null && parsedRow.length > 0 && parsedRow[0].length > 0) {\n return parsedRow[0];\n }\n return null;\n }\n\n protected makeUriArray(uri: string | string[]): LoginUriView[] {\n if (uri == null) {\n return null;\n }\n\n if (typeof uri === 'string') {\n const loginUri = new LoginUriView();\n loginUri.uri = this.fixUri(uri);\n if (this.isNullOrWhitespace(loginUri.uri)) {\n return null;\n }\n loginUri.match = null;\n return [loginUri];\n }\n\n if (uri.length > 0) {\n const returnArr: LoginUriView[] = [];\n uri.forEach((u) => {\n const loginUri = new LoginUriView();\n loginUri.uri = this.fixUri(u);\n if (this.isNullOrWhitespace(loginUri.uri)) {\n return;\n }\n loginUri.match = null;\n returnArr.push(loginUri);\n });\n return returnArr.length === 0 ? null : returnArr;\n }\n\n return null;\n }\n\n protected fixUri(uri: string) {\n if (uri == null) {\n return null;\n }\n uri = uri.toLowerCase().trim();\n if (uri.indexOf('://') === -1 && uri.indexOf('.') >= 0) {\n uri = 'http://' + uri;\n }\n if (uri.length > 1000) {\n return uri.substring(0, 1000);\n }\n return uri;\n }\n\n protected nameFromUrl(url: string) {\n const hostname = Utils.getHostname(url);\n if (this.isNullOrWhitespace(hostname)) {\n return null;\n }\n return hostname.startsWith('www.') ? hostname.replace('www.', '') : hostname;\n }\n\n protected isNullOrWhitespace(str: string): boolean {\n return str == null || str.trim() === '';\n }\n\n protected getValueOrDefault(str: string, defaultValue: string = null): string {\n if (this.isNullOrWhitespace(str)) {\n return defaultValue;\n }\n return str;\n }\n\n protected splitNewLine(str: string): string[] {\n return str.split(this.newLineRegex);\n }\n\n // ref https://stackoverflow.com/a/5911300\n protected getCardBrand(cardNum: string) {\n if (this.isNullOrWhitespace(cardNum)) {\n return null;\n }\n\n // Visa\n let re = new RegExp('^4');\n if (cardNum.match(re) != null) {\n return 'Visa';\n }\n\n // Mastercard\n // Updated for Mastercard 2017 BINs expansion\n if (/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/\n .test(cardNum)) {\n return 'Mastercard';\n }\n\n // AMEX\n re = new RegExp('^3[47]');\n if (cardNum.match(re) != null) {\n return 'Amex';\n }\n\n // Discover\n re = new RegExp('^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)');\n if (cardNum.match(re) != null) {\n return 'Discover';\n }\n\n // Diners\n re = new RegExp('^36');\n if (cardNum.match(re) != null) {\n return 'Diners Club';\n }\n\n // Diners - Carte Blanche\n re = new RegExp('^30[0-5]');\n if (cardNum.match(re) != null) {\n return 'Diners Club';\n }\n\n // JCB\n re = new RegExp('^35(2[89]|[3-8][0-9])');\n if (cardNum.match(re) != null) {\n return 'JCB';\n }\n\n // Visa Electron\n re = new RegExp('^(4026|417500|4508|4844|491(3|7))');\n if (cardNum.match(re) != null) {\n return 'Visa';\n }\n\n return null;\n }\n\n protected moveFoldersToCollections(result: ImportResult) {\n result.folderRelationships.forEach((r) => result.collectionRelationships.push(r));\n result.collections = result.folders.map((f) => {\n const collection = new CollectionView();\n collection.name = f.name;\n return collection;\n });\n result.folderRelationships = [];\n result.folders = [];\n }\n\n protected querySelectorDirectChild(parentEl: Element, query: string) {\n const els = this.querySelectorAllDirectChild(parentEl, query);\n return els.length === 0 ? null : els[0];\n }\n\n protected querySelectorAllDirectChild(parentEl: Element, query: string) {\n return Array.from(parentEl.querySelectorAll(query)).filter((el) => el.parentNode === parentEl);\n }\n\n protected initLoginCipher() {\n const cipher = new CipherView();\n cipher.favorite = false;\n cipher.notes = '';\n cipher.fields = [];\n cipher.login = new LoginView();\n cipher.type = CipherType.Login;\n return cipher;\n }\n\n protected cleanupCipher(cipher: CipherView) {\n if (cipher == null) {\n return;\n }\n if (cipher.type !== CipherType.Login) {\n cipher.login = null;\n }\n if (this.isNullOrWhitespace(cipher.name)) {\n cipher.name = '--';\n }\n if (this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = null;\n } else {\n cipher.notes = cipher.notes.trim();\n }\n if (cipher.fields != null && cipher.fields.length === 0) {\n cipher.fields = null;\n }\n }\n\n protected processKvp(cipher: CipherView, key: string, value: string) {\n if (this.isNullOrWhitespace(value)) {\n return;\n }\n if (this.isNullOrWhitespace(key)) {\n key = '';\n }\n if (value.length > 200 || value.trim().search(this.newLineRegex) > -1) {\n if (cipher.notes == null) {\n cipher.notes = '';\n }\n cipher.notes += (key + ': ' + this.splitNewLine(value).join('\\n') + '\\n');\n } else {\n if (cipher.fields == null) {\n cipher.fields = [];\n }\n const field = new FieldView();\n field.type = FieldType.Text;\n field.name = key;\n field.value = value;\n cipher.fields.push(field);\n }\n }\n\n protected processFolder(result: ImportResult, folderName: string) {\n let folderIndex = result.folders.length;\n const hasFolder = !this.isNullOrWhitespace(folderName);\n let addFolder = hasFolder;\n\n if (hasFolder) {\n for (let i = 0; i < result.folders.length; i++) {\n if (result.folders[i].name === folderName) {\n addFolder = false;\n folderIndex = i;\n break;\n }\n }\n }\n\n if (addFolder) {\n const f = new FolderView();\n f.name = folderName;\n result.folders.push(f);\n }\n if (hasFolder) {\n result.folderRelationships.push([result.ciphers.length, folderIndex]);\n }\n }\n\n protected convertToNoteIfNeeded(cipher: CipherView) {\n if (cipher.type === CipherType.Login && this.isNullOrWhitespace(cipher.login.username) &&\n this.isNullOrWhitespace(cipher.login.password) &&\n (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n }\n}\n","export abstract class TokenService {\n token: string;\n decodedToken: any;\n refreshToken: string;\n setTokens: (accessToken: string, refreshToken: string) => Promise;\n setToken: (token: string) => Promise;\n getToken: () => Promise;\n setRefreshToken: (refreshToken: string) => Promise;\n getRefreshToken: () => Promise;\n setTwoFactorToken: (token: string, email: string) => Promise;\n getTwoFactorToken: (email: string) => Promise;\n clearTwoFactorToken: (email: string) => Promise;\n clearToken: () => Promise;\n decodeToken: () => any;\n getTokenExpirationDate: () => Date;\n tokenSecondsRemaining: (offsetSeconds?: number) => number;\n tokenNeedsRefresh: (minutes?: number) => boolean;\n getUserId: () => string;\n getEmail: () => string;\n getEmailVerified: () => boolean;\n getName: () => string;\n getPremium: () => boolean;\n getIssuer: () => string;\n}\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-callout',\r\n templateUrl: 'callout.component.html',\r\n})\r\nexport class CalloutComponent implements OnInit {\r\n @Input() type = 'info';\r\n @Input() icon: string;\r\n @Input() title: string;\r\n\r\n calloutStyle: string;\r\n\r\n constructor(private i18nService: I18nService) { }\r\n\r\n ngOnInit() {\r\n this.calloutStyle = this.type;\r\n\r\n if (this.type === 'warning' || this.type === 'danger') {\r\n if (this.type === 'danger') {\r\n this.calloutStyle = 'danger';\r\n }\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('warning');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-warning';\r\n }\r\n } else if (this.type === 'error') {\r\n this.calloutStyle = 'danger';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('error');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-bolt';\r\n }\r\n } else if (this.type === 'tip') {\r\n this.calloutStyle = 'success';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('tip');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-lightbulb-o';\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n

\r\n \r\n {{title}}\r\n

\r\n \r\n
\r\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nexport abstract class CollectionService {\n decryptedCollectionCache: CollectionView[];\n\n clearCache: () => void;\n encrypt: (model: CollectionView) => Promise;\n decryptMany: (collections: Collection[]) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n upsert: (collection: CollectionData | CollectionData[]) => Promise;\n replace: (collections: { [id: string]: CollectionData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appInputVerbatim]',\n})\nexport class InputVerbatimDirective {\n @Input() set appInputVerbatim(condition: boolean | string) {\n this.disableComplete = condition === '' || condition === true;\n }\n\n private disableComplete: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (this.disableComplete && !this.el.nativeElement.hasAttribute('autocomplete')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocomplete', 'off');\n }\n if (!this.el.nativeElement.hasAttribute('autocapitalize')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocapitalize', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('autocorrect')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocorrect', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('spellcheck')) {\n this.renderer.setAttribute(this.el.nativeElement, 'spellcheck', 'false');\n }\n if (!this.el.nativeElement.hasAttribute('inputmode')) {\n this.renderer.setAttribute(this.el.nativeElement, 'inputmode', 'verbatim');\n }\n }\n}\n","import { I18nService } from '../abstractions/i18n.service';\n\n// tslint:disable-next-line\nconst nodeURL = typeof window === 'undefined' ? require('url').URL : null;\n\nexport class Utils {\n static inited = false;\n static isNode = false;\n static isBrowser = true;\n static global: NodeJS.Global | Window = null;\n\n static init() {\n if (Utils.inited) {\n return;\n }\n\n Utils.inited = true;\n Utils.isNode = typeof process !== 'undefined' && (process as any).release != null &&\n (process as any).release.name === 'node';\n Utils.isBrowser = typeof window !== 'undefined';\n Utils.global = Utils.isNode && !Utils.isBrowser ? global : window;\n }\n\n static fromB64ToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'base64'));\n } else {\n const binaryString = window.atob(str);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n }\n }\n\n static fromHexToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'hex'));\n } else {\n const bytes = new Uint8Array(str.length / 2);\n for (let i = 0; i < str.length; i += 2) {\n bytes[i / 2] = parseInt(str.substr(i, 2), 16);\n }\n return bytes;\n }\n }\n\n static fromUtf8ToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'utf8'));\n } else {\n const strUtf8 = unescape(encodeURIComponent(str));\n const arr = new Uint8Array(strUtf8.length);\n for (let i = 0; i < strUtf8.length; i++) {\n arr[i] = strUtf8.charCodeAt(i);\n }\n return arr;\n }\n }\n\n static fromByteStringToArray(str: string): Uint8Array {\n const arr = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n arr[i] = str.charCodeAt(i);\n }\n return arr;\n }\n\n static fromBufferToB64(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('base64');\n } else {\n let binary = '';\n const bytes = new Uint8Array(buffer);\n for (let i = 0; i < bytes.byteLength; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n }\n }\n\n static fromBufferToUtf8(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('utf8');\n } else {\n const bytes = new Uint8Array(buffer);\n const encodedString = String.fromCharCode.apply(null, bytes);\n return decodeURIComponent(escape(encodedString));\n }\n }\n\n static fromBufferToByteString(buffer: ArrayBuffer): string {\n return String.fromCharCode.apply(null, new Uint8Array(buffer));\n }\n\n // ref: https://stackoverflow.com/a/40031979/1090359\n static fromBufferToHex(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('hex');\n } else {\n const bytes = new Uint8Array(buffer);\n return Array.prototype.map.call(bytes, (x: number) => ('00' + x.toString(16)).slice(-2)).join('');\n }\n }\n\n static fromUrlB64ToUtf8(b64Str: string): string {\n let output = b64Str.replace(/-/g, '+').replace(/_/g, '/');\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += '==';\n break;\n case 3:\n output += '=';\n break;\n default:\n throw new Error('Illegal base64url string!');\n }\n\n return Utils.fromB64ToUtf8(output);\n }\n\n static fromB64ToUtf8(b64Str: string): string {\n if (Utils.isNode) {\n return new Buffer(b64Str, 'base64').toString('utf8');\n } else {\n return decodeURIComponent(escape(window.atob(b64Str)));\n }\n }\n\n // ref: http://stackoverflow.com/a/2117523/1090359\n static newGuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n // tslint:disable-next-line\n const r = Math.random() * 16 | 0;\n // tslint:disable-next-line\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n static getHostname(uriString: string): string {\n const url = Utils.getUrl(uriString);\n return url != null ? url.hostname : null;\n }\n\n static getHost(uriString: string): string {\n const url = Utils.getUrl(uriString);\n return url != null ? url.host : null;\n }\n\n static getSortFunction(i18nService: I18nService, prop: string) {\n return (a: any, b: any) => {\n if (a[prop] == null && b[prop] != null) {\n return -1;\n }\n if (a[prop] != null && b[prop] == null) {\n return 1;\n }\n if (a[prop] == null && b[prop] == null) {\n return 0;\n }\n\n return i18nService.collator ? i18nService.collator.compare(a[prop], b[prop]) :\n a[prop].localeCompare(b[prop]);\n };\n }\n\n private static getUrl(uriString: string): URL {\n if (uriString == null) {\n return null;\n }\n\n uriString = uriString.trim();\n if (uriString === '') {\n return null;\n }\n\n if (uriString.indexOf('://') === -1 && uriString.indexOf('.') > -1) {\n uriString = 'http://' + uriString;\n }\n\n if (uriString.startsWith('http://') || uriString.startsWith('https://')) {\n try {\n if (nodeURL != null) {\n return new nodeURL(uriString);\n } else if (typeof URL === 'function') {\n return new URL(uriString);\n } else if (window != null) {\n const anchor = window.document.createElement('a');\n anchor.href = uriString;\n return anchor as any;\n }\n } catch (e) { }\n }\n\n return null;\n }\n}\n\nUtils.init();\n","import { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport abstract class FolderService {\n decryptedFolderCache: FolderView[];\n\n clearCache: () => void;\n encrypt: (model: FolderView, key?: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n saveWithServer: (folder: Folder) => Promise;\n upsert: (folder: FolderData | FolderData[]) => Promise;\n replace: (folders: { [id: string]: FolderData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n}\n","export enum CipherType {\r\n Login = 1,\r\n SecureNote = 2,\r\n Card = 3,\r\n Identity = 4,\r\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopClick]',\r\n})\r\nexport class StopClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.preventDefault();\r\n }\r\n}\n","export abstract class StateService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n purge: () => Promise;\r\n}\r\n","export abstract class SyncService {\r\n syncInProgress: boolean;\n\r\n getLastSync: () => Promise;\r\n setLastSync: (date: Date) => Promise;\r\n syncStarted: () => void;\r\n syncCompleted: (successfully: boolean) => void;\r\n fullSync: (forceSync: boolean) => Promise;\r\n}\r\n","export class PasswordVerificationRequest {\n masterPasswordHash: string;\n}\n","export enum TwoFactorProviderType {\r\n Authenticator = 0,\r\n Email = 1,\r\n Duo = 2,\r\n Yubikey = 3,\n U2f = 4,\r\n Remember = 5,\r\n OrganizationDuo = 6,\r\n}\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\n\n@Directive({\n selector: '[appAutofocus]',\n})\nexport class AutofocusDirective {\n @Input() set appAutofocus(condition: boolean | string) {\n this.autofocus = condition === '' || condition === true;\n }\n\n private autofocus: boolean;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n if (this.autofocus) {\n this.el.nativeElement.focus();\n }\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { SecureNote } from '../domain/secureNote';\r\n\r\nexport class SecureNoteView implements View {\r\n type: SecureNoteType;\r\n\r\n constructor(n?: SecureNote) {\r\n if (!n) {\r\n return;\r\n }\r\n\r\n this.type = n.type;\r\n }\r\n\r\n get subTitle(): string {\r\n return null;\r\n }\r\n}\r\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopProp]',\r\n})\r\nexport class StopPropDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.stopPropagation();\r\n }\r\n}\n","import * as jq from 'jquery';\r\n\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent extends BaseModalComponent {\r\n el: any = null;\r\n\r\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\r\n super(componentFactoryResolver);\r\n }\r\n\r\n ngOnDestroy() { /* Nothing */ }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal'));\r\n if (modals.length > 0) {\r\n this.el = jq(modals[0]);\r\n this.el.modal('show');\r\n\r\n this.el.on('show.bs.modal', () => {\r\n this.onShow.emit();\r\n });\r\n this.el.on('shown.bs.modal', () => {\r\n this.onShown.emit();\r\n this.el.find('*[appAutoFocus]').focus();\r\n });\r\n this.el.on('hide.bs.modal', () => {\r\n this.onClose.emit();\r\n });\r\n this.el.on('hidden.bs.modal', () => {\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n });\r\n }\r\n\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n if (this.el != null) {\r\n this.el.modal('hide');\r\n }\r\n }\r\n}\r\n","import { PasswordHistory } from '../models/domain/passwordHistory';\r\n\r\nexport abstract class PasswordGenerationService {\r\n generatePassword: (options: any) => Promise;\r\n getOptions: () => any;\r\n saveOptions: (options: any) => Promise;\r\n getHistory: () => Promise;\r\n addHistory: (password: string) => Promise;\r\n clear: () => Promise;\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\n\nexport abstract class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType;\n\n logIn: (email: string, masterPassword: string) => Promise;\n logInTwoFactor: (twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean) => Promise;\n logInComplete: (email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean) => Promise;\n logOut: (callback: Function) => void;\n getSupportedTwoFactorProviders: (win: Window) => any[];\n getDefaultTwoFactorProvider: (u2fSupported: boolean) => TwoFactorProviderType;\n}\n","import { CipherString } from './cipherString';\n\nimport { View } from '../view/view';\n\nexport default abstract class Domain {\n protected buildDomainModel(domain: D, dataObj: any, map: any,\n alreadyEncrypted: boolean, notEncList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = dataObj[(map[prop] || prop)];\n if (alreadyEncrypted === true || notEncList.indexOf(prop) > -1) {\n (domain as any)[prop] = objProp ? objProp : null;\n } else {\n (domain as any)[prop] = objProp ? new CipherString(objProp) : null;\n }\n }\n }\n protected buildDataModel(domain: D, dataObj: any, map: any, notCipherStringList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = (domain as any)[(map[prop] || prop)];\n if (notCipherStringList.indexOf(prop) > -1) {\n (dataObj as any)[prop] = objProp != null ? objProp : null;\n } else {\n (dataObj as any)[prop] = objProp != null ? (objProp as CipherString).encryptedString : null;\n }\n }\n }\n\n protected async decryptObj(viewModel: T, map: any, orgId: string): Promise {\n const promises = [];\n const self: any = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp) {\n const p = Promise.resolve().then(() => {\n const mapProp = map[theProp] || theProp;\n if (self[mapProp]) {\n return self[mapProp].decrypt(orgId);\n }\n return null;\n }).then((val: any) => {\n (viewModel as any)[theProp] = val;\n });\n promises.push(p);\n })(prop);\n }\n\n await Promise.all(promises);\n return viewModel;\n }\n}\n","export enum SecureNoteType {\r\n Generic = 0,\r\n}\r\n","export class ConstantsService {\r\n static readonly environmentUrlsKey: string = 'environmentUrls';\r\n static readonly disableGaKey: string = 'disableGa';\r\n static readonly disableAddLoginNotificationKey: string = 'disableAddLoginNotification';\r\n static readonly disableContextMenuItemKey: string = 'disableContextMenuItem';\r\n static readonly disableFaviconKey: string = 'disableFavicon';\r\n static readonly disableAutoTotpCopyKey: string = 'disableAutoTotpCopy';\r\n static readonly enableAutoFillOnPageLoadKey: string = 'enableAutoFillOnPageLoad';\r\n static readonly lockOptionKey: string = 'lockOption';\r\n static readonly lastActiveKey: string = 'lastActive';\r\n static readonly neverDomainsKey: string = 'neverDomains';\r\n static readonly installedVersionKey: string = 'installedVersion';\r\n static readonly localeKey: string = 'locale';\r\n static readonly themeKey: string = 'theme';\r\n\r\n readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey;\r\n readonly disableGaKey: string = ConstantsService.disableGaKey;\r\n readonly disableAddLoginNotificationKey: string = ConstantsService.disableAddLoginNotificationKey;\r\n readonly disableContextMenuItemKey: string = ConstantsService.disableContextMenuItemKey;\r\n readonly disableFaviconKey: string = ConstantsService.disableFaviconKey;\r\n readonly disableAutoTotpCopyKey: string = ConstantsService.disableAutoTotpCopyKey;\r\n readonly enableAutoFillOnPageLoadKey: string = ConstantsService.enableAutoFillOnPageLoadKey;\r\n readonly lockOptionKey: string = ConstantsService.lockOptionKey;\r\n readonly lastActiveKey: string = ConstantsService.lastActiveKey;\r\n readonly neverDomainsKey: string = ConstantsService.neverDomainsKey;\r\n readonly installedVersionKey: string = ConstantsService.installedVersionKey;\r\n readonly localeKey: string = ConstantsService.localeKey;\r\n readonly themeKey: string = ConstantsService.themeKey;\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\n\nimport { AttachmentData } from './attachmentData';\nimport { CardData } from './cardData';\nimport { FieldData } from './fieldData';\nimport { IdentityData } from './identityData';\nimport { LoginData } from './loginData';\nimport { SecureNoteData } from './secureNoteData';\n\nimport { CipherResponse } from '../response/cipherResponse';\n\nexport class CipherData {\n id: string;\n organizationId: string;\n folderId: string;\n userId: string;\n edit: boolean;\n organizationUseTotp: boolean;\n favorite: boolean;\n revisionDate: Date;\n type: CipherType;\n sizeName: string;\n name: string;\n notes: string;\n login?: LoginData;\n secureNote?: SecureNoteData;\n card?: CardData;\n identity?: IdentityData;\n fields?: FieldData[];\n attachments?: AttachmentData[];\n collectionIds?: string[];\n\n constructor(response?: CipherResponse, userId?: string, collectionIds?: string[]) {\n if (response == null) {\n return;\n }\n\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.folderId = response.folderId;\n this.userId = userId;\n this.edit = response.edit;\n this.organizationUseTotp = response.organizationUseTotp;\n this.favorite = response.favorite;\n this.revisionDate = response.revisionDate;\n this.type = response.type;\n this.name = response.name;\n this.notes = response.notes;\n\n if (collectionIds != null) {\n this.collectionIds = collectionIds;\n } else {\n this.collectionIds = response.collectionIds;\n }\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new LoginData(response.login);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNoteData(response.secureNote);\n break;\n case CipherType.Card:\n this.card = new CardData(response.card);\n break;\n case CipherType.Identity:\n this.identity = new IdentityData(response.identity);\n break;\n default:\n break;\n }\n\n if (response.fields != null) {\n this.fields = [];\n response.fields.forEach((field) => {\n this.fields.push(new FieldData(field));\n });\n }\n\n if (response.attachments != null) {\n this.attachments = [];\n response.attachments.forEach((attachment) => {\n this.attachments.push(new AttachmentData(attachment));\n });\n }\n }\n}\n","import { View } from './view';\r\n\r\nimport { Card } from '../domain/card';\r\n\r\nexport class CardView implements View {\r\n cardholderName: string;\r\n expMonth: string = null;\r\n expYear: string;\r\n code: string;\r\n\r\n // tslint:disable\r\n private _brand: string = null;\r\n private _number: string;\r\n private _subTitle: string;\r\n // tslint:enable\r\n\r\n constructor(c?: Card) {\r\n // ctor\r\n }\r\n\r\n get maskedCode(): string {\r\n return this.code != null ? '•'.repeat(this.code.length) : null;\r\n }\r\n\r\n get brand(): string {\r\n return this._brand;\r\n }\r\n set brand(value: string) {\r\n this._brand = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get number(): string {\r\n return this._number;\r\n }\r\n set number(value: string) {\r\n this._number = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null) {\r\n this._subTitle = this.brand;\r\n if (this.number != null && this.number.length >= 4) {\r\n if (this._subTitle != null && this._subTitle !== '') {\r\n this._subTitle += ', ';\r\n } else {\r\n this._subTitle = '';\r\n }\r\n this._subTitle += ('*' + this.number.substr(this.number.length - 4));\r\n }\r\n }\r\n return this._subTitle;\r\n }\r\n\r\n get expiration(): string {\r\n if (!this.expMonth && !this.expYear) {\r\n return null;\r\n }\r\n\r\n let exp = this.expMonth != null ? ('0' + this.expMonth).slice(-2) : '__';\r\n exp += (' / ' + (this.expYear != null ? this.formatYear(this.expYear) : '____'));\r\n return exp;\r\n }\r\n\r\n private formatYear(year: string): string {\r\n return year.length === 2 ? '20' + year : year;\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-avatar',\r\n template: '',\r\n})\r\nexport class AvatarComponent implements OnChanges, OnInit {\r\n @Input() data: string;\r\n @Input() width = 45;\r\n @Input() height = 45;\r\n @Input() charCount = 2;\r\n @Input() textColor = '#ffffff';\r\n @Input() fontSize = 20;\r\n @Input() fontWeight = 300;\r\n @Input() dynamic = false;\r\n @Input() circle = false;\r\n\r\n src: string;\r\n\r\n constructor(public sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit() {\r\n if (!this.dynamic) {\r\n this.generate();\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.dynamic) {\r\n this.generate();\r\n }\r\n }\r\n\r\n private generate() {\r\n let chars: string = null;\r\n const upperData = this.data.toUpperCase();\r\n\r\n if (this.charCount > 1) {\r\n chars = this.getFirstLetters(upperData, this.charCount);\r\n }\r\n if (chars == null) {\r\n chars = upperData.substr(0, this.charCount);\r\n }\r\n\r\n const charObj = this.getCharText(chars);\r\n const color = this.stringToColor(upperData);\r\n const svg = this.getSvg(this.width, this.height, color);\r\n svg.appendChild(charObj);\r\n const html = window.document.createElement('div').appendChild(svg).outerHTML;\r\n const svgHtml = window.btoa(unescape(encodeURIComponent(html)));\r\n this.src = 'data:image/svg+xml;base64,' + svgHtml;\r\n }\r\n\r\n private stringToColor(str: string): string {\r\n let hash = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n // tslint:disable-next-line\r\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\r\n }\r\n let color = '#';\r\n for (let i = 0; i < 3; i++) {\r\n // tslint:disable-next-line\r\n const value = (hash >> (i * 8)) & 0xFF;\r\n color += ('00' + value.toString(16)).substr(-2);\r\n }\r\n return color;\r\n }\r\n\r\n private getFirstLetters(data: string, count: number): string {\r\n const parts = data.split(' ');\r\n if (parts.length > 1) {\r\n let text = '';\r\n for (let i = 0; i < count; i++) {\r\n text += parts[i].substr(0, 1);\r\n }\r\n return text;\r\n }\r\n return null;\r\n }\r\n\r\n private getSvg(width: number, height: number, color: string): HTMLElement {\r\n const svgTag = window.document.createElement('svg');\r\n svgTag.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\r\n svgTag.setAttribute('pointer-events', 'none');\r\n svgTag.setAttribute('width', width.toString());\r\n svgTag.setAttribute('height', height.toString());\r\n svgTag.style.backgroundColor = color;\r\n svgTag.style.width = width + 'px';\r\n svgTag.style.height = height + 'px';\r\n return svgTag;\r\n }\r\n\r\n private getCharText(character: string): HTMLElement {\r\n const textTag = window.document.createElement('text');\r\n textTag.setAttribute('text-anchor', 'middle');\r\n textTag.setAttribute('y', '50%');\r\n textTag.setAttribute('x', '50%');\r\n textTag.setAttribute('dy', '0.35em');\r\n textTag.setAttribute('pointer-events', 'auto');\r\n textTag.setAttribute('fill', this.textColor);\r\n textTag.setAttribute('font-family', '\"Open Sans\",\"Helvetica Neue\",Helvetica,Arial,' +\r\n 'sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"');\r\n textTag.textContent = character;\r\n textTag.style.fontWeight = this.fontWeight.toString();\r\n textTag.style.fontSize = this.fontSize + 'px';\r\n return textTag;\r\n }\r\n}\r\n","export abstract class StorageService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-two-factor-verify',\n templateUrl: 'two-factor-verify.component.html',\n})\nexport class TwoFactorVerifyComponent {\n @Input() type: TwoFactorProviderType;\n @Input() organizationId: string;\n @Output() onAuthed = new EventEmitter();\n\n masterPassword: string;\n formPromise: Promise;\n\n private masterPasswordHash: string;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private toasterService: ToasterService, private cryptoService: CryptoService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash =\n await this.cryptoService.hashPassword(this.masterPassword, null);\n\n try {\n switch (this.type) {\n case -1:\n this.formPromise = this.apiService.getTwoFactorRecover(request);\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n if (this.organizationId != null) {\n this.formPromise = this.apiService.getTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.getTwoFactorDuo(request);\n }\n break;\n case TwoFactorProviderType.Email:\n this.formPromise = this.apiService.getTwoFactorEmail(request);\n break;\n case TwoFactorProviderType.U2f:\n this.formPromise = this.apiService.getTwoFactorU2f(request);\n break;\n case TwoFactorProviderType.Authenticator:\n this.formPromise = this.apiService.getTwoFactorAuthenticator(request);\n break;\n case TwoFactorProviderType.Yubikey:\n this.formPromise = this.apiService.getTwoFactorYubiKey(request);\n break;\n }\n\n const response = await this.formPromise;\n this.onAuthed.emit({\n response: response,\n masterPasswordHash: this.masterPasswordHash,\n });\n } catch { }\n }\n}\n","import { CollectionDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionData {\n id: string;\n organizationId: string;\n name: string;\n readOnly: boolean;\n\n constructor(response: CollectionDetailsResponse) {\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.name = response.name;\n this.readOnly = response.readOnly;\n }\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nconst Keys = {\n stripeTest: 'pk_test_KPoCfZXu7mznb9uSCPZ2JpTD',\n stripeLive: 'pk_live_bpN0P37nMxrMQkcaHXtAybJk',\n btSandbox: 'sandbox_r72q8jq6_9pnxkwm75f87sdc2',\n btProduction: 'production_qfbsv8kc_njj2zjtyngtjmbjd',\n};\n\n@Component({\n selector: 'app-payment',\n templateUrl: 'payment.component.html',\n})\nexport class PaymentComponent implements OnInit {\n @Input() showOptions = true;\n @Input() method: 'card' | 'paypal' | 'bank' = 'card';\n @Input() hideBank = false;\n @Input() hidePaypal = false;\n\n card: any = {\n number: null,\n exp_month: null,\n exp_year: null,\n address_country: '',\n address_zip: null,\n };\n bank: any = {\n routing_number: null,\n account_number: null,\n account_holder_name: null,\n account_holder_type: '',\n currency: 'USD',\n country: 'US',\n };\n cardExpMonthOptions: any[];\n cardExpYearOptions: any[];\n\n private stripeScript: HTMLScriptElement;\n private btScript: HTMLScriptElement;\n private btInstance: any = null;\n\n constructor(i18nService: I18nService, private platformUtilsService: PlatformUtilsService) {\n this.stripeScript = window.document.createElement('script');\n this.stripeScript.src = 'https://js.stripe.com/v2/';\n this.stripeScript.async = true;\n this.stripeScript.onload = () => {\n (window as any).Stripe.setPublishableKey(\n this.platformUtilsService.isDev() ? Keys.stripeTest : Keys.stripeLive);\n };\n this.btScript = window.document.createElement('script');\n this.btScript.src = 'https://js.braintreegateway.com/web/dropin/1.4.0/js/dropin.min.js';\n this.btScript.async = true;\n\n this.cardExpMonthOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: '01 - ' + i18nService.t('january'), value: '01' },\n { name: '02 - ' + i18nService.t('february'), value: '02' },\n { name: '03 - ' + i18nService.t('march'), value: '03' },\n { name: '04 - ' + i18nService.t('april'), value: '04' },\n { name: '05 - ' + i18nService.t('may'), value: '05' },\n { name: '06 - ' + i18nService.t('june'), value: '06' },\n { name: '07 - ' + i18nService.t('july'), value: '07' },\n { name: '08 - ' + i18nService.t('august'), value: '08' },\n { name: '09 - ' + i18nService.t('september'), value: '09' },\n { name: '10 - ' + i18nService.t('october'), value: '10' },\n { name: '11 - ' + i18nService.t('november'), value: '11' },\n { name: '12 - ' + i18nService.t('december'), value: '12' },\n ];\n\n this.cardExpYearOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n ];\n const year = (new Date()).getFullYear();\n for (let i = year; i < (year + 15); i++) {\n this.cardExpYearOptions.push({ name: i.toString(), value: i.toString().slice(-2) });\n }\n }\n\n ngOnInit() {\n if (!this.showOptions) {\n this.hidePaypal = this.method !== 'paypal';\n this.hideBank = this.method !== 'bank';\n }\n window.document.head.appendChild(this.stripeScript);\n if (!this.hidePaypal) {\n window.document.head.appendChild(this.btScript);\n }\n }\n\n ngOnDestroy() {\n window.document.head.removeChild(this.stripeScript);\n Array.from(window.document.querySelectorAll('iframe')).forEach((el) => {\n if (el.src != null && el.src.indexOf('stripe') > -1) {\n window.document.body.removeChild(el);\n }\n });\n if (!this.hidePaypal) {\n window.document.head.removeChild(this.btScript);\n const btStylesheet = window.document.head.querySelector('#braintree-dropin-stylesheet');\n if (btStylesheet != null) {\n window.document.head.removeChild(btStylesheet);\n }\n }\n }\n\n changeMethod() {\n if (this.method !== 'paypal') {\n this.btInstance = null;\n return;\n }\n\n window.setTimeout(() => {\n (window as any).braintree.dropin.create({\n authorization: this.platformUtilsService.isDev() ? Keys.btSandbox : Keys.btProduction,\n container: '#bt-dropin-container',\n paymentOptionPriority: ['paypal'],\n paypal: {\n flow: 'vault',\n buttonStyle: {\n label: 'pay',\n size: 'medium',\n shape: 'pill',\n color: 'blue',\n },\n },\n }, (createErr: any, instance: any) => {\n if (createErr != null) {\n // tslint:disable-next-line\n console.error(createErr);\n return;\n }\n this.btInstance = instance;\n });\n }, 250);\n }\n\n createPaymentToken(): Promise {\n return new Promise((resolve, reject) => {\n if (this.method === 'paypal') {\n this.btInstance.requestPaymentMethod().then((payload: any) => {\n resolve(payload.nonce);\n }).catch((err: any) => {\n reject(err.message);\n });\n } else if (this.method === 'card' || this.method === 'bank') {\n const createObj: any = this.method === 'card' ? (window as any).Stripe.card :\n (window as any).Stripe.bankAccount;\n const sourceObj = this.method === 'card' ? this.card : this.bank;\n createObj.createToken(sourceObj, (status: number, response: any) => {\n if (status === 200 && response.id != null) {\n resolve(response.id);\n } else if (response.error != null) {\n reject(response.error.message);\n } else {\n reject();\n }\n });\n }\n });\n }\n\n getCountry(): string {\n return this.card.address_country;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Folder } from '../domain/folder';\r\n\r\nexport class FolderView implements View {\r\n id: string = null;\r\n name: string;\r\n\r\n constructor(f?: Folder) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.id = f.id;\r\n }\r\n}\r\n","import { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nexport abstract class AuditService {\n passwordLeaked: (password: string) => Promise;\n breachedAccounts: (username: string) => Promise;\n}\n","","export abstract class EnvironmentService {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n\n getWebVaultUrl: () => string;\n setUrlsFromStorage: () => Promise;\n setUrls: (urls: any) => Promise;\n}\n","
\n
\n

{{'twoStepLoginAuthDesc' | i18n}}

\n \n \n
\n
\n \n \n
\n
\n","import { CipherType } from '../../enums/cipherType';\n\nimport { CipherData } from '../data/cipherData';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Attachment } from './attachment';\nimport { Card } from './card';\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { SecureNote } from './secureNote';\n\nexport class Cipher extends Domain {\n id: string;\n organizationId: string;\n folderId: string;\n name: CipherString;\n notes: CipherString;\n type: CipherType;\n favorite: boolean;\n organizationUseTotp: boolean;\n edit: boolean;\n revisionDate: Date;\n localData: any;\n login: Login;\n identity: Identity;\n card: Card;\n secureNote: SecureNote;\n attachments: Attachment[];\n fields: Field[];\n collectionIds: string[];\n\n constructor(obj?: CipherData, alreadyEncrypted: boolean = false, localData: any = null) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n userId: null,\n organizationId: null,\n folderId: null,\n name: null,\n notes: null,\n }, alreadyEncrypted, ['id', 'userId', 'organizationId', 'folderId']);\n\n this.type = obj.type;\n this.favorite = obj.favorite;\n this.organizationUseTotp = obj.organizationUseTotp;\n this.edit = obj.edit;\n this.revisionDate = obj.revisionDate;\n this.collectionIds = obj.collectionIds;\n this.localData = localData;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new Login(obj.login, alreadyEncrypted);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNote(obj.secureNote, alreadyEncrypted);\n break;\n case CipherType.Card:\n this.card = new Card(obj.card, alreadyEncrypted);\n break;\n case CipherType.Identity:\n this.identity = new Identity(obj.identity, alreadyEncrypted);\n break;\n default:\n break;\n }\n\n if (obj.attachments != null) {\n this.attachments = [];\n obj.attachments.forEach((attachment) => {\n this.attachments.push(new Attachment(attachment, alreadyEncrypted));\n });\n } else {\n this.attachments = null;\n }\n\n if (obj.fields != null) {\n this.fields = [];\n obj.fields.forEach((field) => {\n this.fields.push(new Field(field, alreadyEncrypted));\n });\n } else {\n this.fields = null;\n }\n }\n\n async decrypt(): Promise {\n const model = new CipherView(this);\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, this.organizationId);\n\n switch (this.type) {\n case CipherType.Login:\n model.login = await this.login.decrypt(this.organizationId);\n break;\n case CipherType.SecureNote:\n model.secureNote = await this.secureNote.decrypt(this.organizationId);\n break;\n case CipherType.Card:\n model.card = await this.card.decrypt(this.organizationId);\n break;\n case CipherType.Identity:\n model.identity = await this.identity.decrypt(this.organizationId);\n break;\n default:\n break;\n }\n\n const orgId = this.organizationId;\n\n if (this.attachments != null && this.attachments.length > 0) {\n const attachments: any[] = [];\n await this.attachments.reduce((promise, attachment) => {\n return promise.then(() => {\n return attachment.decrypt(orgId);\n }).then((decAttachment) => {\n attachments.push(decAttachment);\n });\n }, Promise.resolve());\n model.attachments = attachments;\n }\n\n if (this.fields != null && this.fields.length > 0) {\n const fields: any[] = [];\n await this.fields.reduce((promise, field) => {\n return promise.then(() => {\n return field.decrypt(orgId);\n }).then((decField) => {\n fields.push(decField);\n });\n }, Promise.resolve());\n model.fields = fields;\n }\n\n return model;\n }\n\n toCipherData(userId: string): CipherData {\n const c = new CipherData();\n c.id = this.id;\n c.organizationId = this.organizationId;\n c.folderId = this.folderId;\n c.userId = this.organizationId != null ? userId : null;\n c.edit = this.edit;\n c.organizationUseTotp = this.organizationUseTotp;\n c.favorite = this.favorite;\n c.revisionDate = this.revisionDate;\n c.type = this.type;\n c.collectionIds = this.collectionIds;\n\n this.buildDataModel(this, c, {\n name: null,\n notes: null,\n });\n\n switch (c.type) {\n case CipherType.Login:\n c.login = this.login.toLoginData();\n break;\n case CipherType.SecureNote:\n c.secureNote = this.secureNote.toSecureNoteData();\n break;\n case CipherType.Card:\n c.card = this.card.toCardData();\n break;\n case CipherType.Identity:\n c.identity = this.identity.toIdentityData();\n break;\n default:\n break;\n }\n\n if (this.fields != null) {\n c.fields = [];\n this.fields.forEach((field) => {\n c.fields.push(field.toFieldData());\n });\n }\n\n if (this.attachments != null) {\n c.attachments = [];\n this.attachments.forEach((attachment) => {\n c.attachments.push(attachment.toAttachmentData());\n });\n }\n return c;\n }\n}\n","import { CollectionData } from '../data/collectionData';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class Collection extends Domain {\n id: string;\n organizationId: string;\n name: CipherString;\n readOnly: boolean;\n\n constructor(obj?: CollectionData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n organizationId: null,\n name: null,\n readOnly: null,\n }, alreadyEncrypted, ['id', 'organizationId', 'readOnly']);\n }\n\n decrypt(): Promise {\n return this.decryptObj(new CollectionView(this), {\n name: null,\n }, this.organizationId);\n }\n}\n","import { LoginUriView } from './loginUriView';\r\nimport { View } from './view';\r\n\r\nimport { Login } from '../domain/login';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class LoginView implements View {\r\n username: string;\r\n password: string;\r\n totp: string;\r\n uris: LoginUriView[];\r\n\r\n constructor(l?: Login) {\r\n // ctor\r\n }\r\n\r\n get uri(): string {\r\n return this.hasUris ? this.uris[0].uri : null;\r\n }\r\n\r\n get maskedPassword(): string {\r\n return this.password != null ? '••••••••' : null;\r\n }\r\n\r\n get subTitle(): string {\r\n return this.username;\r\n }\r\n\r\n get canLaunch(): boolean {\r\n return this.hasUris && this.uris[0].canLaunch;\r\n }\r\n\r\n get hasUris(): boolean {\r\n return this.uris != null && this.uris.length > 0;\r\n }\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\n\nimport { Cipher } from '../domain/cipher';\n\nimport { AttachmentView } from './attachmentView';\nimport { CardView } from './cardView';\nimport { FieldView } from './fieldView';\nimport { IdentityView } from './identityView';\nimport { LoginView } from './loginView';\nimport { SecureNoteView } from './secureNoteView';\nimport { View } from './view';\n\nexport class CipherView implements View {\n id: string;\n organizationId: string;\n folderId: string;\n name: string;\n notes: string;\n type: CipherType;\n favorite = false;\n organizationUseTotp = false;\n edit = false;\n localData: any;\n login: LoginView;\n identity: IdentityView;\n card: CardView;\n secureNote: SecureNoteView;\n attachments: AttachmentView[];\n fields: FieldView[];\n collectionIds: string[];\n\n constructor(c?: Cipher) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.folderId = c.folderId;\n this.favorite = c.favorite;\n this.organizationUseTotp = c.organizationUseTotp;\n this.edit = c.edit;\n this.type = c.type;\n this.localData = c.localData;\n this.collectionIds = c.collectionIds;\n }\n\n get subTitle(): string {\n switch (this.type) {\n case CipherType.Login:\n return this.login.subTitle;\n case CipherType.SecureNote:\n return this.secureNote.subTitle;\n case CipherType.Card:\n return this.card.subTitle;\n case CipherType.Identity:\n return this.identity.subTitle;\n default:\n break;\n }\n\n return null;\n }\n\n get hasAttachments(): boolean {\n return this.attachments && this.attachments.length > 0;\n }\n\n get hasFields(): boolean {\n return this.fields && this.fields.length > 0;\n }\n\n get login_username(): string {\n return this.login != null ? this.login.username : null;\n }\n}\n","import { CipherType } from '../../enums/cipherType';\n\nimport { Cipher } from '../domain/cipher';\n\nimport { CardApi } from '../api/cardApi';\nimport { FieldApi } from '../api/fieldApi';\nimport { IdentityApi } from '../api/identityApi';\nimport { LoginApi } from '../api/loginApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class CipherRequest {\n type: CipherType;\n folderId: string;\n organizationId: string;\n name: string;\n notes: string;\n favorite: boolean;\n login: LoginApi;\n secureNote: SecureNoteApi;\n card: CardApi;\n identity: IdentityApi;\n fields: FieldApi[];\n attachments: { [id: string]: string; };\n\n constructor(cipher: Cipher) {\n this.type = cipher.type;\n this.folderId = cipher.folderId;\n this.organizationId = cipher.organizationId;\n this.name = cipher.name ? cipher.name.encryptedString : null;\n this.notes = cipher.notes ? cipher.notes.encryptedString : null;\n this.favorite = cipher.favorite;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = {\n uris: null,\n username: cipher.login.username ? cipher.login.username.encryptedString : null,\n password: cipher.login.password ? cipher.login.password.encryptedString : null,\n totp: cipher.login.totp ? cipher.login.totp.encryptedString : null,\n };\n\n if (cipher.login.uris) {\n this.login.uris = [];\n cipher.login.uris.forEach((u) => {\n this.login.uris.push({\n uri: u.uri ? u.uri.encryptedString : null,\n match: u.match != null ? u.match : null,\n });\n });\n }\n break;\n case CipherType.SecureNote:\n this.secureNote = {\n type: cipher.secureNote.type,\n };\n break;\n case CipherType.Card:\n this.card = {\n cardholderName: cipher.card.cardholderName ? cipher.card.cardholderName.encryptedString : null,\n brand: cipher.card.brand ? cipher.card.brand.encryptedString : null,\n number: cipher.card.number ? cipher.card.number.encryptedString : null,\n expMonth: cipher.card.expMonth ? cipher.card.expMonth.encryptedString : null,\n expYear: cipher.card.expYear ? cipher.card.expYear.encryptedString : null,\n code: cipher.card.code ? cipher.card.code.encryptedString : null,\n };\n break;\n case CipherType.Identity:\n this.identity = {\n title: cipher.identity.title ? cipher.identity.title.encryptedString : null,\n firstName: cipher.identity.firstName ? cipher.identity.firstName.encryptedString : null,\n middleName: cipher.identity.middleName ? cipher.identity.middleName.encryptedString : null,\n lastName: cipher.identity.lastName ? cipher.identity.lastName.encryptedString : null,\n address1: cipher.identity.address1 ? cipher.identity.address1.encryptedString : null,\n address2: cipher.identity.address2 ? cipher.identity.address2.encryptedString : null,\n address3: cipher.identity.address3 ? cipher.identity.address3.encryptedString : null,\n city: cipher.identity.city ? cipher.identity.city.encryptedString : null,\n state: cipher.identity.state ? cipher.identity.state.encryptedString : null,\n postalCode: cipher.identity.postalCode ? cipher.identity.postalCode.encryptedString : null,\n country: cipher.identity.country ? cipher.identity.country.encryptedString : null,\n company: cipher.identity.company ? cipher.identity.company.encryptedString : null,\n email: cipher.identity.email ? cipher.identity.email.encryptedString : null,\n phone: cipher.identity.phone ? cipher.identity.phone.encryptedString : null,\n ssn: cipher.identity.ssn ? cipher.identity.ssn.encryptedString : null,\n username: cipher.identity.username ? cipher.identity.username.encryptedString : null,\n passportNumber: cipher.identity.passportNumber ?\n cipher.identity.passportNumber.encryptedString : null,\n licenseNumber: cipher.identity.licenseNumber ? cipher.identity.licenseNumber.encryptedString : null,\n };\n break;\n default:\n break;\n }\n\n if (cipher.fields) {\n this.fields = [];\n cipher.fields.forEach((field) => {\n this.fields.push({\n type: field.type,\n name: field.name ? field.name.encryptedString : null,\n value: field.value ? field.value.encryptedString : null,\n });\n });\n }\n\n if (cipher.attachments) {\n this.attachments = {};\n cipher.attachments.forEach((attachment) => {\n this.attachments[attachment.id] = attachment.fileName ? attachment.fileName.encryptedString : null;\n });\n }\n }\n}\n","export enum DeviceType {\n Android = 0,\n iOS = 1,\n ChromeExtension = 2,\n FirefoxExtension = 3,\n OperaExtension = 4,\n EdgeExtension = 5,\n WindowsDesktop = 6,\n MacOsDesktop = 7,\n LinuxDesktop = 8,\n ChromeBrowser = 9,\n FirefoxBrowser = 10,\n OperaBrowser = 11,\n EdgeBrowser = 12,\n IEBrowser = 13,\n UnknownBrowser = 14,\n AndroidAmazon = 15,\n UWP = 16,\n SafariBrowser = 17,\n VivaldiBrowser = 18,\n VivaldiExtension = 19,\n SafariExtension = 20,\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class BroadcasterService {\n subscribers: Map any> = new Map any>();\n\n send(message: any, id?: string) {\n if (id != null) {\n if (this.subscribers.has(id)) {\n this.subscribers.get(id)(message);\r\n }\n return;\r\n }\n\n this.subscribers.forEach((value) => {\n value(message);\n });\r\n }\n\n subscribe(id: string, messageCallback: (message: any) => any) {\n if (this.subscribers.has(id)) {\n return;\r\n }\n\n this.subscribers.set(id, messageCallback);\r\n }\n\n unsubscribe(id: string) {\n if (this.subscribers.has(id)) {\n this.subscribers.delete(id);\r\n }\r\n }\n}\r\n","export enum OrganizationUserType {\n Owner = 0,\n Admin = 1,\n User = 2,\n}\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\n\n@Injectable()\nexport class EventService {\n constructor(private i18nService: I18nService) { }\n\n getDefaultDateFilters() {\n const d = new Date();\n const end = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59);\n d.setDate(d.getDate() - 30);\n const start = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0);\n return [this.toDateTimeLocalString(start), this.toDateTimeLocalString(end)];\n }\n\n formatDateFilters(filterStart: string, filterEnd: string) {\n const start: Date = new Date(filterStart);\n const end: Date = new Date(filterEnd + ':59.999');\n if (isNaN(start.getTime()) || isNaN(end.getTime()) || end < start) {\n throw new Error('Invalid date range.');\n }\n return [start.toISOString(), end.toISOString()];\n }\n\n getEventInfo(ev: EventResponse, options = new EventOptions()): EventInfo {\n const appInfo = this.getAppInfo(ev.deviceType);\n return {\n message: this.getEventMessage(ev, options),\n appIcon: appInfo[0],\n appName: appInfo[1],\n };\n }\n\n private getEventMessage(ev: EventResponse, options: EventOptions) {\n let msg = '';\n switch (ev.type) {\n // User\n case EventType.User_LoggedIn:\n msg = this.i18nService.t('loggedIn');\n break;\n case EventType.User_ChangedPassword:\n msg = this.i18nService.t('changedPassword');\n break;\n case EventType.User_Enabled2fa:\n msg = this.i18nService.t('enabled2fa');\n break;\n case EventType.User_Disabled2fa:\n msg = this.i18nService.t('disabled2fa');\n break;\n case EventType.User_Recovered2fa:\n msg = this.i18nService.t('recovered2fa');\n break;\n case EventType.User_FailedLogIn:\n msg = this.i18nService.t('failedLogin');\n break;\n case EventType.User_FailedLogIn2fa:\n msg = this.i18nService.t('failedLogin2fa');\n break;\n // Cipher\n case EventType.Cipher_Created:\n msg = this.i18nService.t('createdItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Updated:\n msg = this.i18nService.t('editedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Deleted:\n msg = this.i18nService.t('deletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentCreated:\n msg = this.i18nService.t('createdAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentDeleted:\n msg = this.i18nService.t('deletedAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Shared:\n msg = this.i18nService.t('sharedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_UpdatedCollections:\n msg = this.i18nService.t('editedCollectionsForItem', this.formatCipherId(ev, options));\n break;\n // Collection\n case EventType.Collection_Created:\n msg = this.i18nService.t('createdCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Updated:\n msg = this.i18nService.t('editedCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Deleted:\n msg = this.i18nService.t('deletedCollectionId', this.formatCollectionId(ev));\n break;\n // Group\n case EventType.Group_Created:\n msg = this.i18nService.t('createdGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Updated:\n msg = this.i18nService.t('editedGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Deleted:\n msg = this.i18nService.t('deletedGroupId', this.formatGroupId(ev));\n break;\n // Org user\n case EventType.OrganizationUser_Invited:\n msg = this.i18nService.t('invitedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Confirmed:\n msg = this.i18nService.t('confirmedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Updated:\n msg = this.i18nService.t('editedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Removed:\n msg = this.i18nService.t('removedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_UpdatedGroups:\n msg = this.i18nService.t('editedGroupsForUser', this.formatOrgUserId(ev));\n break;\n // Org\n case EventType.Organization_Updated:\n msg = this.i18nService.t('editedOrgSettings');\n break;\n default:\n break;\n }\n return msg === '' ? null : msg;\n }\n\n private getAppInfo(deviceType: DeviceType): [string, string] {\n switch (deviceType) {\n case DeviceType.Android:\n return ['fa-android', this.i18nService.t('mobile') + ' - Android'];\n case DeviceType.iOS:\n return ['fa-apple', this.i18nService.t('mobile') + ' - iOS'];\n case DeviceType.UWP:\n return ['fa-windows', this.i18nService.t('mobile') + ' - Windows'];\n case DeviceType.ChromeExtension:\n return ['fa-chrome', this.i18nService.t('extension') + ' - Chrome'];\n case DeviceType.FirefoxExtension:\n return ['fa-firefox', this.i18nService.t('extension') + ' - Firefox'];\n case DeviceType.OperaExtension:\n return ['fa-opera', this.i18nService.t('extension') + ' - Opera'];\n case DeviceType.EdgeExtension:\n return ['fa-edge', this.i18nService.t('extension') + ' - Edge'];\n case DeviceType.VivaldiExtension:\n return ['fa-puzzle-piece', this.i18nService.t('extension') + ' - Vivaldi'];\n case DeviceType.SafariExtension:\n return ['fa-safari', this.i18nService.t('extension') + ' - Safari'];\n case DeviceType.WindowsDesktop:\n return ['fa-windows', this.i18nService.t('desktop') + ' - Windows'];\n case DeviceType.MacOsDesktop:\n return ['fa-apple', this.i18nService.t('desktop') + ' - macOS'];\n case DeviceType.LinuxDesktop:\n return ['fa-linux', this.i18nService.t('desktop') + ' - Linux'];\n case DeviceType.ChromeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Chrome'];\n case DeviceType.FirefoxBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Firefox'];\n case DeviceType.OperaBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Opera'];\n case DeviceType.SafariBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Safari'];\n case DeviceType.VivaldiBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Vivaldi'];\n case DeviceType.EdgeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Edge'];\n case DeviceType.IEBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - IE'];\n case DeviceType.UnknownBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - ' + this.i18nService.t('unknown')];\n default:\n return ['fa-globe', this.i18nService.t('unknown')];\n }\n }\n\n private formatCipherId(ev: EventResponse, options: EventOptions) {\n const shortId = this.getShortId(ev.cipherId);\n if (ev.organizationId == null || !options.cipherInfo) {\n return '' + shortId + '';\n }\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/vault?search=' + shortId +\n '&viewEvents=' + ev.cipherId);\n return a.outerHTML;\n }\n\n private formatGroupId(ev: EventResponse) {\n const shortId = this.getShortId(ev.groupId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/groups?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatCollectionId(ev: EventResponse) {\n const shortId = this.getShortId(ev.collectionId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/collections?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatOrgUserId(ev: EventResponse) {\n const shortId = this.getShortId(ev.organizationUserId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/people?search=' + shortId +\n '&viewEvents=' + ev.organizationUserId);\n return a.outerHTML;\n }\n\n private makeAnchor(shortId: string) {\n const a = document.createElement('a');\n a.title = this.i18nService.t('view');\n a.innerHTML = '' + shortId + '';\n return a;\n }\n\n private getShortId(id: string) {\n return id.substring(0, 8);\n }\n\n private toDateTimeLocalString(date: Date) {\n return date.getFullYear() +\n '-' + this.pad(date.getMonth() + 1) +\n '-' + this.pad(date.getDate()) +\n 'T' + this.pad(date.getHours()) +\n ':' + this.pad(date.getMinutes());\n }\n\n private pad(num: number) {\n const norm = Math.floor(Math.abs(num));\n return (norm < 10 ? '0' : '') + norm;\n }\n}\n\nexport class EventInfo {\n message: string;\n appIcon: string;\n appName: string;\n}\n\nexport class EventOptions {\n cipherInfo = true;\n}\n","export abstract class ExportService {\n getExport: (format?: 'csv' | 'json') => Promise;\n getOrganizationExport: (organizationId: string, format?: 'csv' | 'json') => Promise;\n getFileName: (prefix?: string) => string;\n}\n","import { View } from './view';\n\nimport { Collection } from '../domain/collection';\n\nexport class CollectionView implements View {\n id: string;\n organizationId: string;\n name: string;\n readOnly: boolean;\n\n constructor(c?: Collection) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.readOnly = c.readOnly;\n }\n}\n","import {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { TwoFactorProviderRequest } from 'jslib/models/request/twoFactorProviderRequest';\n\nexport abstract class TwoFactorBaseComponent {\n @Output() onUpdated = new EventEmitter();\n\n type: TwoFactorProviderType;\n organizationId: string;\n twoFactorProviderType = TwoFactorProviderType;\n enabled = false;\n authed = false;\n\n protected masterPasswordHash: string;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n protected auth(authResponse: any) {\n this.masterPasswordHash = authResponse.masterPasswordHash;\n this.authed = true;\n }\n\n protected async enable(enableFunction: () => Promise) {\n try {\n await enableFunction();\n this.analytics.eventTrack.next({\n action: 'Enabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.onUpdated.emit(true);\n } catch { }\n }\n\n protected async disable(promise: Promise) {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('twoStepDisableDesc'),\n this.i18nService.t('disable'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n const request = new TwoFactorProviderRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.type = this.type;\n if (this.organizationId != null) {\n promise = this.apiService.putTwoFactorOrganizationDisable(this.organizationId, request);\n } else {\n promise = this.apiService.putTwoFactorDisable(request);\n }\n await promise;\n this.enabled = false;\n this.analytics.eventTrack.next({\n action: 'Disabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepDisabled'));\n this.onUpdated.emit(false);\n } catch { }\n }\n}\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { Field } from '../domain/field';\r\n\r\nexport class FieldView implements View {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(f?: Field) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.type = f.type;\r\n }\r\n\r\n get maskedValue(): string {\r\n return this.value != null ? '••••••••' : null;\r\n }\r\n}\r\n","export abstract class TotpService {\r\n getCode: (keyb32: string) => Promise;\r\n isAutoCopyEnabled: () => Promise;\r\n}\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-organizations',\n templateUrl: 'organizations.component.html',\n})\nexport class OrganizationsComponent implements OnInit {\n @Input() vault = false;\n\n organizations: Organization[];\n loaded: boolean = false;\n actionPromise: Promise;\n\n constructor(private userService: UserService, private platformUtilsService: PlatformUtilsService,\n private i18nService: I18nService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private syncService: SyncService) { }\n\n async ngOnInit() {\n if (!this.vault) {\n await this.load();\n }\n }\n\n async load() {\n const orgs = await this.userService.getAllOrganizations();\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.organizations = orgs;\n this.loaded = true;\n }\n\n async leave(org: Organization) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('leaveOrganizationConfirmation'), org.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.apiService.postLeaveOrganization(org.id).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Left Organization' });\n this.toasterService.popAsync('success', null, this.i18nService.t('leftOrganization'));\n await this.load();\n } catch { }\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport {\r\n ActivatedRoute,\r\n NavigationEnd,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Injectable()\r\nexport class RouterService {\r\n private previousUrl: string = undefined;\r\n private currentUrl: string = undefined;\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute,\r\n private titleService: Title, private i18nService: I18nService) {\r\n this.currentUrl = this.router.url;\r\n router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = event.url;\r\n\r\n let title = i18nService.t('pageTitle', 'Bitwarden');\r\n let titleId: string = null;\r\n let rawTitle: string = null;\r\n let child = this.activatedRoute.firstChild;\r\n while (child != null) {\r\n if (child.firstChild != null) {\r\n child = child.firstChild;\r\n } else if (child.snapshot.data != null && child.snapshot.data.title != null) {\r\n rawTitle = child.snapshot.data.title;\r\n break;\r\n } else if (child.snapshot.data != null && child.snapshot.data.titleId != null) {\r\n titleId = child.snapshot.data.titleId;\r\n break;\r\n } else {\r\n titleId = null;\r\n rawTitle = null;\r\n break;\r\n }\r\n }\r\n\r\n if (titleId != null || rawTitle != null) {\r\n const newTitle = rawTitle != null ? rawTitle : i18nService.t(titleId);\r\n if (newTitle != null && newTitle !== '') {\r\n title = (newTitle + ' | ' + title);\r\n }\r\n }\r\n this.titleService.setTitle(title);\r\n }\r\n });\r\n }\r\n\r\n getPreviousUrl() {\r\n return this.previousUrl;\r\n }\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class CipherString {\r\n encryptedString?: string;\r\n encryptionType?: EncryptionType;\r\n decryptedValue?: string;\r\n data?: string;\r\n iv?: string;\r\n mac?: string;\r\n\r\n constructor(encryptedStringOrType: string | EncryptionType, data?: string, iv?: string, mac?: string) {\r\n if (data != null) {\r\n // data and header\r\n const encType = encryptedStringOrType as EncryptionType;\r\n this.encryptedString = encType + '.' + data;\r\n\r\n // iv\r\n if (iv != null) {\r\n this.encryptedString += ('|' + iv);\r\n }\r\n\r\n // mac\r\n if (mac != null) {\r\n this.encryptedString += ('|' + mac);\r\n }\r\n\r\n this.encryptionType = encType;\r\n this.data = data;\r\n this.iv = iv;\r\n this.mac = mac;\r\n\r\n return;\r\n }\r\n\r\n this.encryptedString = encryptedStringOrType as string;\r\n if (!this.encryptedString) {\r\n return;\r\n }\r\n\r\n const headerPieces = this.encryptedString.split('.');\r\n let encPieces: string[] = null;\r\n\r\n if (headerPieces.length === 2) {\r\n try {\r\n this.encryptionType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) {\r\n return;\r\n }\r\n } else {\r\n encPieces = this.encryptedString.split('|');\r\n this.encryptionType = encPieces.length === 3 ? EncryptionType.AesCbc128_HmacSha256_B64 :\r\n EncryptionType.AesCbc256_B64;\r\n }\r\n\r\n switch (this.encryptionType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encPieces.length !== 3) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n this.mac = encPieces[2];\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encPieces.length !== 2) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n if (encPieces.length !== 1) {\r\n return;\r\n }\r\n\r\n this.data = encPieces[0];\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n if (this.decryptedValue) {\r\n return Promise.resolve(this.decryptedValue);\r\n }\r\n\r\n let cryptoService: CryptoService;\r\n const containerService = (Utils.global as any).bitwardenContainerService;\r\n if (containerService) {\r\n cryptoService = containerService.getCryptoService();\r\n } else {\r\n throw new Error('global bitwardenContainerService not initialized.');\r\n }\r\n\r\n try {\r\n const orgKey = await cryptoService.getOrgKey(orgId);\r\n this.decryptedValue = await cryptoService.decryptToUtf8(this, orgKey);\r\n } catch (e) {\r\n this.decryptedValue = '[error: cannot decrypt]';\r\n }\r\n return this.decryptedValue;\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component';\r\n\r\n@Component({\r\n selector: 'app-export',\r\n templateUrl: 'export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n constructor(analytics: Angulartics2, toasterService: ToasterService,\r\n cryptoService: CryptoService, userService: UserService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n exportService: ExportService) {\r\n super(analytics, toasterService, cryptoService, userService, i18nService, platformUtilsService,\r\n exportService, window);\r\n }\r\n\r\n protected saved() {\r\n super.saved();\r\n this.masterPassword = null;\r\n this.toasterService.popAsync('success', null, this.i18nService.t('exportSuccess'));\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { ImportResult } from 'jslib/models/domain/importResult';\n\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\nimport { FolderRequest } from 'jslib/models/request/folderRequest';\nimport { ImportCiphersRequest } from 'jslib/models/request/importCiphersRequest';\nimport { KvpRequest } from 'jslib/models/request/kvpRequest';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { AscendoCsvImporter } from 'jslib/importers/ascendoCsvImporter';\nimport { AviraCsvImporter } from 'jslib/importers/aviraCsvImporter';\nimport { BitwardenCsvImporter } from 'jslib/importers/bitwardenCsvImporter';\nimport { BlurCsvImporter } from 'jslib/importers/blurCsvImporter';\nimport { ChromeCsvImporter } from 'jslib/importers/chromeCsvImporter';\nimport { ClipperzHtmlImporter } from 'jslib/importers/clipperzHtmlImporter';\nimport { DashlaneCsvImporter } from 'jslib/importers/dashlaneCsvImporter';\nimport { EnpassCsvImporter } from 'jslib/importers/enpassCsvImporter';\nimport { FirefoxCsvImporter } from 'jslib/importers/firefoxCsvImporter';\nimport { GnomeJsonImporter } from 'jslib/importers/gnomeJsonImporter';\nimport { Importer } from 'jslib/importers/importer';\nimport { KeePass2XmlImporter } from 'jslib/importers/keepass2XmlImporter';\nimport { KeePassXCsvImporter } from 'jslib/importers/keepassxCsvImporter';\nimport { KeeperCsvImporter } from 'jslib/importers/keeperCsvImporter';\nimport { LastPassCsvImporter } from 'jslib/importers/lastpassCsvImporter';\nimport { MeldiumCsvImporter } from 'jslib/importers/meldiumCsvImporter';\nimport { MSecureCsvImporter } from 'jslib/importers/msecureCsvImporter';\nimport { OnePassword1PifImporter } from 'jslib/importers/onepassword1PifImporter';\nimport { OnePasswordWinCsvImporter } from 'jslib/importers/onepasswordWinCsvImporter';\nimport { PadlockCsvImporter } from 'jslib/importers/padlockCsvImporter';\nimport { PassKeepCsvImporter } from 'jslib/importers/passkeepCsvImporter';\nimport { PasswordAgentCsvImporter } from 'jslib/importers/passwordAgentCsvImporter';\nimport { PasswordBossJsonImporter } from 'jslib/importers/passwordBossJsonImporter';\nimport { PasswordDragonXmlImporter } from 'jslib/importers/passwordDragonXmlImporter';\nimport { PasswordSafeXmlImporter } from 'jslib/importers/passwordSafeXmlImporter';\nimport { RoboFormCsvImporter } from 'jslib/importers/roboformCsvImporter';\nimport { SafeInCloudXmlImporter } from 'jslib/importers/safeInCloudXmlImporter';\nimport { SaferPassCsvImporter } from 'jslib/importers/saferpassCsvImport';\nimport { SplashIdCsvImporter } from 'jslib/importers/splashIdCsvImporter';\nimport { StickyPasswordXmlImporter } from 'jslib/importers/stickyPasswordXmlImporter';\nimport { TrueKeyCsvImporter } from 'jslib/importers/truekeyCsvImporter';\nimport { UpmCsvImporter } from 'jslib/importers/upmCsvImporter';\nimport { ZohoVaultCsvImporter } from 'jslib/importers/zohoVaultCsvImporter';\n\n@Component({\n selector: 'app-import',\n templateUrl: 'import.component.html',\n})\nexport class ImportComponent implements OnInit {\n featuredImportOptions: any[];\n importOptions: any[];\n format: string = null;\n fileContents: string;\n formPromise: Promise;\n\n protected successNavigate: any[] = ['vault'];\n\n constructor(protected i18nService: I18nService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected cipherService: CipherService,\n protected folderService: FolderService, protected apiService: ApiService,\n protected router: Router) {\n }\n\n ngOnInit() {\n this.setImportOptions();\n this.importOptions.sort((a, b) => {\n if (a.name == null && b.name != null) {\n return -1;\n }\n if (a.name != null && b.name == null) {\n return 1;\n }\n if (a.name == null && b.name == null) {\n return 0;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(a.name, b.name) :\n a.name.localeCompare(b.name);\n });\n }\n\n async submit() {\n const importer = this.getImporter();\n if (importer === null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFormat'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if ((files == null || files.length === 0) && (this.fileContents == null || this.fileContents === '')) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n let fileContents = this.fileContents;\n if (files != null && files.length > 0) {\n try {\n const content = await this.getFileContents(files[0]);\n if (content != null) {\n fileContents = content;\n }\n } catch { }\n }\n\n if (fileContents == null || fileContents === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n const importResult = await importer.parse(fileContents);\n if (importResult.success) {\n if (importResult.folders.length === 0 && importResult.ciphers.length === 0) {\n this.error(this.i18nService.t('importNothingError'));\n return;\n } else if (importResult.ciphers.length > 0) {\n const halfway = Math.floor(importResult.ciphers.length / 2);\n const last = importResult.ciphers.length - 1;\n if (this.badData(importResult.ciphers[0]) && this.badData(importResult.ciphers[halfway]) &&\n this.badData(importResult.ciphers[last])) {\n this.error(this.i18nService.t('importFormatError'));\n return;\n }\n }\n\n try {\n this.formPromise = this.postImport(importResult);\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: 'Imported Data',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('importSuccess'));\n this.router.navigate(this.successNavigate);\n } catch { }\n } else {\n this.error(this.i18nService.t('importFormatError'));\n }\n }\n\n getFormatInstructionTitle() {\n if (this.format == null) {\n return null;\n }\n\n const results = this.featuredImportOptions.concat(this.importOptions).filter((o) => o.id === this.format);\n if (results.length > 0) {\n return this.i18nService.t('instructionsFor', results[0].name);\n }\n return null;\n }\n\n protected async postImport(importResult: ImportResult) {\n const request = new ImportCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.folders != null) {\n for (let i = 0; i < importResult.folders.length; i++) {\n const f = await this.folderService.encrypt(importResult.folders[i]);\n request.folders.push(new FolderRequest(f));\n }\n }\n if (importResult.folderRelationships != null) {\n importResult.folderRelationships.forEach((r) =>\n request.folderRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportCiphers(request);\n }\n\n protected setImportOptions() {\n this.featuredImportOptions = [\n { id: null, name: '-- ' + this.i18nService.t('select') + ' --' },\n { id: 'bitwardencsv', name: 'Bitwarden (csv)' },\n { id: 'lastpasscsv', name: 'LastPass (csv)' },\n { id: 'chromecsv', name: 'Chrome (csv)' },\n { id: 'firefoxcsv', name: 'Firefox (csv)' },\n { id: 'keepass2xml', name: 'KeePass 2 (xml)' },\n { id: '1password1pif', name: '1Password (1pif)' },\n { id: 'dashlanecsv', name: 'Dashlane (csv)' },\n ];\n\n this.importOptions = [\n { id: 'keepassxcsv', name: 'KeePassX (csv)' },\n { id: '1passwordwincsv', name: '1Password 6 and 7 Windows (csv)' },\n { id: 'roboformcsv', name: 'RoboForm (csv)' },\n { id: 'keepercsv', name: 'Keeper (csv)' },\n { id: 'enpasscsv', name: 'Enpass (csv)' },\n { id: 'safeincloudxml', name: 'SafeInCloud (xml)' },\n { id: 'pwsafexml', name: 'Password Safe (xml)' },\n { id: 'stickypasswordxml', name: 'Sticky Password (xml)' },\n { id: 'msecurecsv', name: 'mSecure (csv)' },\n { id: 'truekeycsv', name: 'True Key (csv)' },\n { id: 'passwordbossjson', name: 'Password Boss (json)' },\n { id: 'zohovaultcsv', name: 'Zoho Vault (csv)' },\n { id: 'splashidcsv', name: 'SplashID (csv)' },\n { id: 'passworddragonxml', name: 'Password Dragon (xml)' },\n { id: 'padlockcsv', name: 'Padlock (csv)' },\n { id: 'passboltcsv', name: 'Passbolt (csv)' },\n { id: 'clipperzhtml', name: 'Clipperz (html)' },\n { id: 'aviracsv', name: 'Avira (csv)' },\n { id: 'saferpasscsv', name: 'SaferPass (csv)' },\n { id: 'upmcsv', name: 'Universal Password Manager (csv)' },\n { id: 'ascendocsv', name: 'Ascendo DataVault (csv)' },\n { id: 'meldiumcsv', name: 'Meldium (csv)' },\n { id: 'passkeepcsv', name: 'PassKeep (csv)' },\n { id: 'operacsv', name: 'Opera (csv)' },\n { id: 'vivaldicsv', name: 'Vivaldi (csv)' },\n { id: 'gnomejson', name: 'GNOME Passwords and Keys/Seahorse (json)' },\n { id: 'blurcsv', name: 'Blur (csv)' },\n { id: 'passwordagentcsv', name: 'Password Agent (csv)' },\n ];\n }\n\n protected getImporter(): Importer {\n if (this.format == null || this.format === '') {\n return null;\n }\n\n switch (this.format) {\n case 'bitwardencsv':\n return new BitwardenCsvImporter();\n case 'lastpasscsv':\n case 'passboltcsv':\n return new LastPassCsvImporter();\n case 'keepassxcsv':\n return new KeePassXCsvImporter();\n case 'aviracsv':\n return new AviraCsvImporter();\n case 'blurcsv':\n return new BlurCsvImporter();\n case 'safeincloudxml':\n return new SafeInCloudXmlImporter();\n case 'padlockcsv':\n return new PadlockCsvImporter();\n case 'keepass2xml':\n return new KeePass2XmlImporter();\n case 'chromecsv':\n case 'operacsv':\n case 'vivaldicsv':\n return new ChromeCsvImporter();\n case 'firefoxcsv':\n return new FirefoxCsvImporter();\n case 'upmcsv':\n return new UpmCsvImporter();\n case 'saferpasscsv':\n return new SaferPassCsvImporter();\n case 'meldiumcsv':\n return new MeldiumCsvImporter();\n case '1password1pif':\n return new OnePassword1PifImporter();\n case '1passwordwincsv':\n return new OnePasswordWinCsvImporter();\n case 'keepercsv':\n return new KeeperCsvImporter();\n case 'passworddragonxml':\n return new PasswordDragonXmlImporter();\n case 'enpasscsv':\n return new EnpassCsvImporter();\n case 'pwsafexml':\n return new PasswordSafeXmlImporter();\n case 'dashlanecsv':\n return new DashlaneCsvImporter();\n case 'msecurecsv':\n return new MSecureCsvImporter();\n case 'stickypasswordxml':\n return new StickyPasswordXmlImporter();\n case 'truekeycsv':\n return new TrueKeyCsvImporter();\n case 'clipperzhtml':\n return new ClipperzHtmlImporter();\n case 'roboformcsv':\n return new RoboFormCsvImporter();\n case 'ascendocsv':\n return new AscendoCsvImporter();\n case 'passwordbossjson':\n return new PasswordBossJsonImporter();\n case 'zohovaultcsv':\n return new ZohoVaultCsvImporter();\n case 'splashidcsv':\n return new SplashIdCsvImporter();\n case 'passkeepcsv':\n return new PassKeepCsvImporter();\n case 'gnomejson':\n return new GnomeJsonImporter();\n case 'passwordagentcsv':\n return new PasswordAgentCsvImporter();\n default:\n return null;\n }\n }\n\n private error(errorMessage: string) {\n this.analytics.eventTrack.next({\n action: 'Import Data Failed',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), errorMessage);\n }\n\n private getFileContents(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = (evt) => {\n if (this.format === 'lastpasscsv' && file.type === 'text/html') {\n const parser = new DOMParser();\n const doc = parser.parseFromString(evt.target.result, 'text/html');\n const pre = doc.querySelector('pre');\n if (pre != null) {\n resolve(pre.textContent);\n return;\n }\n reject();\n return;\n }\n\n resolve(evt.target.result);\n };\n reader.onerror = () => {\n reject();\n };\n });\n }\n\n private badData(c: CipherView) {\n return (c.name == null || c.name === '--') &&\n (c.login != null && (c.login.password == null || c.login.password === ''));\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { TwoFactorProviders } from 'jslib/services/auth.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorAuthenticatorComponent } from './two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './two-factor-recovery.component';\nimport { TwoFactorU2fComponent } from './two-factor-u2f.component';\nimport { TwoFactorYubiKeyComponent } from './two-factor-yubikey.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: 'two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent implements OnInit {\n @ViewChild('recoveryTemplate', { read: ViewContainerRef }) recoveryModalRef: ViewContainerRef;\n @ViewChild('authenticatorTemplate', { read: ViewContainerRef }) authenticatorModalRef: ViewContainerRef;\n @ViewChild('yubikeyTemplate', { read: ViewContainerRef }) yubikeyModalRef: ViewContainerRef;\n @ViewChild('u2fTemplate', { read: ViewContainerRef }) u2fModalRef: ViewContainerRef;\n @ViewChild('duoTemplate', { read: ViewContainerRef }) duoModalRef: ViewContainerRef;\n @ViewChild('emailTemplate', { read: ViewContainerRef }) emailModalRef: ViewContainerRef;\n\n organizationId: string;\n providers: any[] = [];\n premium: boolean;\n loading = true;\n\n private modal: ModalComponent = null;\n\n constructor(protected apiService: ApiService, protected tokenService: TokenService,\n protected componentFactoryResolver: ComponentFactoryResolver, protected messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.premium = this.tokenService.getPremium();\n\n for (const key in TwoFactorProviders) {\n if (!TwoFactorProviders.hasOwnProperty(key)) {\n continue;\n }\n\n const p = (TwoFactorProviders as any)[key];\n if (this.filterProvider(p.type)) {\n continue;\n }\n\n this.providers.push({\n type: p.type,\n name: p.name,\n description: p.description,\n enabled: false,\n premium: p.premium,\n sort: p.sort,\n });\n }\n\n this.providers.sort((a: any, b: any) => a.sort - b.sort);\n await this.load();\n }\n\n async load() {\n this.loading = true;\n const providerList = await this.getTwoFactorProviders();\n providerList.data.forEach((p) => {\n this.providers.forEach((p2) => {\n if (p.type === p2.type) {\n p2.enabled = p.enabled;\n }\n });\n });\n this.loading = false;\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.Authenticator:\n const authComp = this.openModal(this.authenticatorModalRef, TwoFactorAuthenticatorComponent);\n authComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Authenticator);\n });\n break;\n case TwoFactorProviderType.Yubikey:\n const yubiComp = this.openModal(this.yubikeyModalRef, TwoFactorYubiKeyComponent);\n yubiComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Yubikey);\n });\n break;\n case TwoFactorProviderType.Duo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Duo);\n });\n break;\n case TwoFactorProviderType.Email:\n const emailComp = this.openModal(this.emailModalRef, TwoFactorEmailComponent);\n emailComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Email);\n });\n break;\n case TwoFactorProviderType.U2f:\n const u2fComp = this.openModal(this.u2fModalRef, TwoFactorU2fComponent);\n u2fComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.U2f);\n });\n break;\n default:\n break;\n }\n }\n\n recoveryCode() {\n this.openModal(this.recoveryModalRef, TwoFactorRecoveryComponent);\n }\n\n async premiumRequired() {\n const premium = await this.tokenService.getPremium();\n if (!premium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorProviders();\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type === TwoFactorProviderType.OrganizationDuo;\n }\n\n protected openModal(ref: ViewContainerRef, type: Type): T {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = ref.createComponent(factory).instance;\n const childComponent = this.modal.show(type, ref);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return childComponent;\n }\n\n protected updateStatus(enabled: boolean, type: TwoFactorProviderType) {\n if (!enabled && this.modal != null) {\n this.modal.close();\n }\n this.providers.forEach((p) => {\n if (p.type === type) {\n p.enabled = enabled;\n }\n });\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { View } from './view';\n\nimport { LoginUri } from '../domain/loginUri';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { Utils } from '../../misc/utils';\n\nexport class LoginUriView implements View {\n match: UriMatchType = null;\n\n // tslint:disable\n private _uri: string;\n private _domain: string;\n private _hostname: string;\n // tslint:enable\n\n constructor(u?: LoginUri) {\n if (!u) {\n return;\n }\n\n this.match = u.match;\n }\n\n get uri(): string {\n return this._uri;\n }\n set uri(value: string) {\n this._uri = value;\n this._domain = null;\n }\n\n get domain(): string {\n if (this._domain == null && this.uri != null) {\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n const platformUtilsService: PlatformUtilsService = containerService.getPlatformUtilsService();\n this._domain = platformUtilsService.getDomain(this.uri);\n if (this._domain === '') {\n this._domain = null;\n }\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n }\n\n return this._domain;\n }\n\n get hostname(): string {\n if (this._hostname == null && this.uri != null) {\n this._hostname = Utils.getHostname(this.uri);\n if (this._hostname === '') {\n this._hostname = null;\n }\n }\n\n return this._hostname;\n }\n\n get hostnameOrUri(): string {\n return this.hostname != null ? this.hostname : this.uri;\n }\n\n get isWebsite(): boolean {\n return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0);\n }\n\n get canLaunch(): boolean {\n return this.uri != null && this.uri.indexOf('://') > -1;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Identity } from '../domain/identity';\r\n\r\nexport class IdentityView implements View {\r\n title: string = null;\r\n middleName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n // tslint:disable\r\n private _firstName: string;\r\n private _lastName: string;\r\n private _subTitle: string;\r\n // tslint:enable\r\n\r\n constructor(i?: Identity) {\r\n // ctor\r\n }\r\n\r\n get firstName(): string {\r\n return this._firstName;\r\n }\r\n set firstName(value: string) {\r\n this._firstName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get lastName(): string {\r\n return this._lastName;\r\n }\r\n set lastName(value: string) {\r\n this._lastName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {\r\n this._subTitle = '';\r\n if (this.firstName != null) {\r\n this._subTitle = this.firstName;\r\n }\r\n if (this.lastName != null) {\r\n if (this._subTitle !== '') {\r\n this._subTitle += ' ';\r\n }\r\n this._subTitle += this.lastName;\r\n }\r\n }\r\n\r\n return this._subTitle;\r\n }\r\n\r\n get fullName(): string {\r\n if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {\r\n let name = '';\r\n if (this.title != null) {\r\n name += (this.title + ' ');\r\n }\r\n if (this.firstName != null) {\r\n name += (this.firstName + ' ');\r\n }\r\n if (this.middleName != null) {\r\n name += (this.middleName + ' ');\r\n }\r\n if (this.lastName != null) {\r\n name += this.lastName;\r\n }\r\n return name.trim();\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nconst MaxCheckedCount = 500;\r\n\r\n@Component({\r\n selector: 'app-vault-ciphers',\r\n templateUrl: 'ciphers.component.html',\r\n})\r\nexport class CiphersComponent extends BaseCiphersComponent {\r\n @Input() showAddNew = true;\r\n @Output() onAttachmentsClicked = new EventEmitter();\r\n @Output() onShareClicked = new EventEmitter();\r\n @Output() onCollectionsClicked = new EventEmitter();\r\n\r\n cipherType = CipherType;\r\n\r\n constructor(cipherService: CipherService, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService) {\r\n super(cipherService);\r\n }\r\n\r\n checkCipher(c: CipherView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n selectAll(select: boolean) {\r\n if (select) {\r\n this.selectAll(false);\r\n }\r\n const selectCount = select && this.ciphers.length > MaxCheckedCount ? MaxCheckedCount : this.ciphers.length;\r\n for (let i = 0; i < selectCount; i++) {\r\n this.checkCipher(this.ciphers[i], select);\r\n }\r\n }\r\n\r\n getSelected(): CipherView[] {\r\n if (this.ciphers == null) {\r\n return [];\r\n }\r\n return this.ciphers.filter((c) => !!(c as any).checked);\r\n }\r\n\r\n getSelectedIds(): string[] {\r\n return this.getSelected().map((c) => c.id);\r\n }\r\n\r\n attachments(c: CipherView) {\r\n this.onAttachmentsClicked.emit(c);\r\n }\r\n\r\n share(c: CipherView) {\r\n this.onShareClicked.emit(c);\r\n }\r\n\r\n collections(c: CipherView) {\r\n this.onCollectionsClicked.emit(c);\r\n }\r\n\r\n async delete(c: CipherView): Promise {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n await this.cipherService.deleteWithServer(c.id);\r\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\r\n this.refresh();\r\n }\r\n\r\n copy(value: string, typeI18nKey: string, aType: string) {\r\n if (value == null) {\r\n return;\r\n }\r\n\r\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\r\n this.platformUtilsService.copyToClipboard(value, { doc: window.document });\r\n this.toasterService.popAsync('info', null,\r\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\r\n }\r\n}\r\n","export enum FieldType {\r\n Text = 0,\r\n Hidden = 1,\r\n Boolean = 2,\r\n}\r\n","export enum EncryptionType {\r\n AesCbc256_B64 = 0,\r\n AesCbc128_HmacSha256_B64 = 1,\r\n AesCbc256_HmacSha256_B64 = 2,\r\n Rsa2048_OaepSha256_B64 = 3,\r\n Rsa2048_OaepSha1_B64 = 4,\r\n Rsa2048_OaepSha256_HmacSha256_B64 = 5,\r\n Rsa2048_OaepSha1_HmacSha256_B64 = 6,\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/components/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-vault-groupings',\r\n templateUrl: 'groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n @Output() onSearchTextChanged = new EventEmitter();\r\n\r\n searchText: string = '';\r\n searchPlaceholder: string = null;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService) {\r\n super(collectionService, folderService);\r\n }\r\n\r\n searchTextChanged() {\r\n this.onSearchTextChanged.emit(this.searchText);\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { DeviceRequest } from '../models/request/deviceRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\n\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { AppIdService } from '../abstractions/appId.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService } from '../abstractions/user.service';\n\nexport const TwoFactorProviders = {\n [TwoFactorProviderType.Authenticator]: {\n type: TwoFactorProviderType.Authenticator,\n name: null as string,\n description: null as string,\n priority: 1,\n sort: 1,\n premium: false,\n },\n [TwoFactorProviderType.Yubikey]: {\n type: TwoFactorProviderType.Yubikey,\n name: null as string,\n description: null as string,\n priority: 3,\n sort: 2,\n premium: true,\n },\n [TwoFactorProviderType.Duo]: {\n type: TwoFactorProviderType.Duo,\n name: 'Duo',\n description: null as string,\n priority: 2,\n sort: 3,\n premium: true,\n },\n [TwoFactorProviderType.OrganizationDuo]: {\n type: TwoFactorProviderType.OrganizationDuo,\n name: 'Duo (Organization)',\n description: null as string,\n priority: 10,\n sort: 4,\n premium: false,\n },\n [TwoFactorProviderType.U2f]: {\n type: TwoFactorProviderType.U2f,\n name: null as string,\n description: null as string,\n priority: 4,\n sort: 5,\n premium: true,\n },\n [TwoFactorProviderType.Email]: {\n type: TwoFactorProviderType.Email,\n name: null as string,\n description: null as string,\n priority: 0,\n sort: 6,\n premium: false,\n },\n};\n\nexport class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType = null;\n\n private key: SymmetricCryptoKey;\n\n constructor(private cryptoService: CryptoService, private apiService: ApiService,\n private userService: UserService, private tokenService: TokenService,\n private appIdService: AppIdService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService,\n private setCryptoKeys = true) { }\n\n init() {\n TwoFactorProviders[TwoFactorProviderType.Email].name = this.i18nService.t('emailTitle');\n TwoFactorProviders[TwoFactorProviderType.Email].description = this.i18nService.t('emailDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Authenticator].name = this.i18nService.t('authenticatorAppTitle');\n TwoFactorProviders[TwoFactorProviderType.Authenticator].description =\n this.i18nService.t('authenticatorAppDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Duo].description = this.i18nService.t('duoDesc');\n\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].name =\n 'Duo (' + this.i18nService.t('organization') + ')';\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].description =\n this.i18nService.t('duoOrganizationDesc');\n\n TwoFactorProviders[TwoFactorProviderType.U2f].name = this.i18nService.t('u2fTitle');\n TwoFactorProviders[TwoFactorProviderType.U2f].description = this.i18nService.t('u2fDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Yubikey].name = this.i18nService.t('yubiKeyTitle');\n TwoFactorProviders[TwoFactorProviderType.Yubikey].description = this.i18nService.t('yubiKeyDesc');\n }\n\n async logIn(email: string, masterPassword: string): Promise {\n this.selectedTwoFactorProviderType = null;\n email = email.toLowerCase();\n const key = await this.cryptoService.makeKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key);\n }\n\n async logInTwoFactor(twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean): Promise {\n return await this.logInHelper(this.email, this.masterPasswordHash, this.key, twoFactorProvider,\n twoFactorToken, remember);\n }\n\n async logInComplete(email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n email = email.toLowerCase();\n const key = await this.cryptoService.makeKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key, twoFactorProvider, twoFactorToken, remember);\n }\n\n logOut(callback: Function) {\n callback();\n this.messagingService.send('loggedOut');\n }\n\n getSupportedTwoFactorProviders(win: Window): any[] {\n const providers: any[] = [];\n if (this.twoFactorProviders == null) {\n return providers;\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.OrganizationDuo) &&\n this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Authenticator)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Yubikey)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Yubikey]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Duo) && this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Duo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.U2f) && this.platformUtilsService.supportsU2f(win)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.U2f]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Email)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Email]);\n }\n\n return providers;\n }\n\n getDefaultTwoFactorProvider(u2fSupported: boolean): TwoFactorProviderType {\n if (this.twoFactorProviders == null) {\n return null;\n }\n\n if (this.selectedTwoFactorProviderType != null &&\n this.twoFactorProviders.has(this.selectedTwoFactorProviderType)) {\n return this.selectedTwoFactorProviderType;\n }\n\n let providerType: TwoFactorProviderType = null;\n let providerPriority = -1;\n this.twoFactorProviders.forEach((value, type) => {\n const provider = (TwoFactorProviders as any)[type];\n if (provider != null && provider.priority > providerPriority) {\n if (type === TwoFactorProviderType.U2f && !u2fSupported) {\n return;\n }\n\n providerType = type;\n providerPriority = provider.priority;\n }\n });\n\n return providerType;\n }\n\n private async logInHelper(email: string, hashedPassword: string, key: SymmetricCryptoKey,\n twoFactorProvider?: TwoFactorProviderType, twoFactorToken?: string, remember?: boolean): Promise {\n const storedTwoFactorToken = await this.tokenService.getTwoFactorToken(email);\n const appId = await this.appIdService.getAppId();\n const deviceRequest = new DeviceRequest(appId, this.platformUtilsService);\n\n let request: TokenRequest;\n if (twoFactorToken != null && twoFactorProvider != null) {\n request = new TokenRequest(email, hashedPassword, twoFactorProvider, twoFactorToken, remember,\n deviceRequest);\n } else if (storedTwoFactorToken != null) {\n request = new TokenRequest(email, hashedPassword, TwoFactorProviderType.Remember,\n storedTwoFactorToken, false, deviceRequest);\n } else {\n request = new TokenRequest(email, hashedPassword, null, null, false, deviceRequest);\n }\n\n const response = await this.apiService.postIdentityToken(request);\n\n this.clearState();\n const result = new AuthResult();\n result.twoFactor = !(response as any).accessToken;\n\n if (result.twoFactor) {\n // two factor required\n const twoFactorResponse = response as IdentityTwoFactorResponse;\n this.email = email;\n this.masterPasswordHash = hashedPassword;\n this.key = this.setCryptoKeys ? key : null;\n this.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n result.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n return result;\n }\n\n const tokenResponse = response as IdentityTokenResponse;\n if (tokenResponse.twoFactorToken != null) {\n this.tokenService.setTwoFactorToken(tokenResponse.twoFactorToken, email);\n }\n\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n await this.userService.setUserIdAndEmail(this.tokenService.getUserId(), this.tokenService.getEmail());\n if (this.setCryptoKeys) {\n await this.cryptoService.setKey(key);\n await this.cryptoService.setKeyHash(hashedPassword);\n await this.cryptoService.setEncKey(tokenResponse.key);\n\n // User doesn't have a key pair yet (old account), let's generate one for them\n if (tokenResponse.privateKey == null) {\n try {\n const keyPair = await this.cryptoService.makeKeyPair();\n await this.apiService.postAccountKeys(new KeysRequest(keyPair[0], keyPair[1].encryptedString));\n tokenResponse.privateKey = keyPair[1].encryptedString;\n } catch (e) {\n // tslint:disable-next-line\n console.error(e);\n }\n }\n\n await this.cryptoService.setEncPrivateKey(tokenResponse.privateKey);\n }\n\n this.messagingService.send('loggedIn');\n return result;\n }\n\n private clearState(): void {\n this.email = null;\n this.masterPasswordHash = null;\n this.twoFactorProviders = null;\n this.selectedTwoFactorProviderType = null;\n }\n}\n","export class SelectionReadOnlyResponse {\n id: string;\n readOnly: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.readOnly = response.ReadOnly;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { VerifyBankRequest } from 'jslib/models/request/verifyBankRequest';\n\nimport { BillingChargeResponse } from 'jslib/models/response/billingResponse';\nimport { OrganizationBillingResponse } from 'jslib/models/response/organizationBillingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\nimport { PlanType } from 'jslib/enums/planType';\n\n@Component({\n selector: 'app-org-billing',\n templateUrl: 'organization-billing.component.html',\n})\nexport class OrganizationBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n organizationId: string;\n adjustSeatsAdd = true;\n showAdjustSeats = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showAdjustPayment = false;\n showUpdateLicense = false;\n billing: OrganizationBillingResponse;\n paymentMethodType = PaymentMethodType;\n selfHosted = false;\n verifyAmount1: number;\n verifyAmount2: number;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n licensePromise: Promise;\n verifyBankPromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.firstLoaded = true;\n });\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n this.loading = true;\n this.billing = await this.apiService.getOrganizationBilling(this.organizationId);\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postOrganizationReinstate(this.organizationId);\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postOrganizationCancel(this.organizationId);\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n async changePlan() {\n const contactSupport = await this.platformUtilsService.showDialog(this.i18nService.t('changeBillingPlanDesc'),\n this.i18nService.t('changeBillingPlan'), this.i18nService.t('contactSupport'), this.i18nService.t('close'));\n if (contactSupport) {\n this.platformUtilsService.launchUri('https://bitwarden.com/contact');\n }\n }\n\n async downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const installationId = window.prompt(this.i18nService.t('enterInstallationId'));\n if (installationId == null || installationId === '') {\n return;\n }\n\n try {\n this.licensePromise = this.apiService.getOrganizationLicense(this.organizationId, installationId);\n const license = await this.licensePromise;\n const licenseString = JSON.stringify(license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_organization_license.json');\n } catch { }\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n async verifyBank() {\n if (this.loading) {\n return;\n }\n\n try {\n const request = new VerifyBankRequest();\n request.amount1 = this.verifyAmount1;\n request.amount2 = this.verifyAmount2;\n this.verifyBankPromise = this.apiService.postOrganizationVerifyBank(this.organizationId, request);\n await this.verifyBankPromise;\n this.analytics.eventTrack.next({ action: 'Verified Bank Account' });\n this.toasterService.popAsync('success', null, this.i18nService.t('verifiedBankAccount'));\n this.load();\n } catch { }\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustSeats(add: boolean) {\n this.adjustSeatsAdd = add;\n this.showAdjustSeats = true;\n }\n\n closeSeats(load: boolean) {\n this.showAdjustSeats = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n async viewInvoice(charge: BillingChargeResponse) {\n const token = await this.tokenService.getToken();\n const url = this.apiService.apiBaseUrl + '/organizations/' + this.organizationId +\n '/billing-invoice/' + charge.invoiceId + '?access_token=' + token;\n this.platformUtilsService.launchUri(url);\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.billing != null ? this.billing.subscription : null;\n }\n\n get nextInvoice() {\n return this.billing != null ? this.billing.upcomingInvoice : null;\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get charges() {\n return this.billing != null ? this.billing.charges : null;\n }\n\n get storagePercentage() {\n return this.billing != null && this.billing.maxStorageGb ?\n +(100 * (this.billing.storageGb / this.billing.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n\n get billingInterval() {\n const monthly = this.billing.planType === PlanType.EnterpriseMonthly ||\n this.billing.planType === PlanType.TeamsMonthly;\n return monthly ? 'month' : 'year';\n }\n\n get storageGbPrice() {\n return this.billingInterval === 'month' ? 0.5 : 4;\n }\n\n get seatPrice() {\n switch (this.billing.planType) {\n case PlanType.EnterpriseMonthly:\n return 4;\n case PlanType.EnterpriseAnnually:\n return 3;\n case PlanType.TeamsMonthly:\n return 2.5;\n case PlanType.TeamsAnnually:\n return 2;\n default:\n return 0;\n }\n }\n\n get canAdjustSeats() {\n return this.billing.planType === PlanType.EnterpriseMonthly ||\n this.billing.planType === PlanType.EnterpriseAnnually ||\n this.billing.planType === PlanType.TeamsMonthly || this.billing.planType === PlanType.TeamsAnnually;\n }\n\n get canDownloadLicense() {\n return (this.billing.planType !== PlanType.Free && this.subscription == null) ||\n (this.subscription != null && !this.subscription.cancelled);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorDuoComponent } from '../../settings/two-factor-duo.component';\nimport { TwoFactorSetupComponent as BaseTwoFactorSetupComponent } from '../../settings/two-factor-setup.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: '../../settings/two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent extends BaseTwoFactorSetupComponent {\n constructor(apiService: ApiService, tokenService: TokenService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n private route: ActivatedRoute) {\n super(apiService, tokenService, componentFactoryResolver, messagingService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await super.ngOnInit();\n });\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.OrganizationDuo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.type = TwoFactorProviderType.OrganizationDuo;\n duoComp.organizationId = this.organizationId;\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.OrganizationDuo);\n });\n break;\n default:\n break;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorOrganizationProviders(this.organizationId);\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type !== TwoFactorProviderType.OrganizationDuo;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { OrganizationUpdateRequest } from 'jslib/models/request/organizationUpdateRequest';\nimport { OrganizationResponse } from 'jslib/models/response/organizationResponse';\n\nimport { ModalComponent } from '../../modal.component';\nimport { DeleteOrganizationComponent } from './delete-organization.component';\n\n@Component({\n selector: 'app-org-account',\n templateUrl: 'account.component.html',\n})\nexport class AccountComponent {\n @ViewChild('deleteOrganizationTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\n\n loading = true;\n org: OrganizationResponse;\n formPromise: Promise;\n\n private organizationId: string;\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\n private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute, private syncService: SyncService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n try {\n this.org = await this.apiService.getOrganization(this.organizationId);\n } catch { }\n });\n this.loading = false;\n }\n\n async submit() {\n try {\n const request = new OrganizationUpdateRequest();\n request.name = this.org.name;\n request.businessName = this.org.businessName;\n request.billingEmail = this.org.billingEmail;\n this.formPromise = this.apiService.putOrganization(this.organizationId, request).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Organization Settings' });\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpdated'));\n } catch { }\n }\n\n deleteOrganization() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n DeleteOrganizationComponent, this.deleteModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent {\n access2fa = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n const organization = await this.userService.getOrganization(params.organizationId);\n this.access2fa = organization.use2fa;\n });\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityEventsComponent } from './entity-events.component';\nimport { UserAddEditComponent } from './user-add-edit.component';\nimport { UserGroupsComponent } from './user-groups.component';\n\n@Component({\n selector: 'app-org-people',\n templateUrl: 'people.component.html',\n})\nexport class PeopleComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('groupsTemplate', { read: ViewContainerRef }) groupsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n users: OrganizationUserUserDetailsResponse[];\n searchText: string;\n status: OrganizationUserStatusType = null;\n statusMap = new Map();\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n actionPromise: Promise;\n accessEvents = false;\n accessGroups = false;\n\n private modal: ModalComponent = null;\n private allUsers: OrganizationUserUserDetailsResponse[];\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private analytics: Angulartics2,\n private toasterService: ToasterService, private cryptoService: CryptoService,\n private userService: UserService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n this.accessEvents = organization.useEvents;\n this.accessGroups = organization.useGroups;\n await this.load();\n\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const user = this.users.filter((u) => u.id === qParams.viewEvents);\n if (user.length > 0 && user[0].status === OrganizationUserStatusType.Confirmed) {\n this.events(user[0]);\n }\n }\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n this.statusMap.clear();\n this.allUsers = response.data != null && response.data.length > 0 ? response.data : [];\n this.allUsers.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.allUsers.forEach((u) => {\n if (!this.statusMap.has(u.status)) {\n this.statusMap.set(u.status, [u]);\n } else {\n this.statusMap.get(u.status).push(u);\n }\n });\n this.filter(this.status);\n this.loading = false;\n }\n\n filter(status: OrganizationUserStatusType) {\n this.status = status;\n if (this.status != null) {\n this.users = this.statusMap.get(this.status);\n } else {\n this.users = this.allUsers;\n }\n }\n\n get invitedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Invited) ?\n this.statusMap.get(OrganizationUserStatusType.Invited).length : 0;\n }\n\n get acceptedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Accepted) ?\n this.statusMap.get(OrganizationUserStatusType.Accepted).length : 0;\n }\n\n edit(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserAddEditComponent, this.addEditModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedUser.subscribe(() => {\n this.modal.close();\n this.removeUser(user);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n invite() {\n this.edit(null);\n }\n\n groups(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.groupsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserGroupsComponent, this.groupsModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async remove(user: OrganizationUserUserDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.name || user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteOrganizationUser(this.organizationId, user.id);\n this.analytics.eventTrack.next({ action: 'Deleted User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.name || user.email));\n this.removeUser(user);\n } catch { }\n }\n\n async reinvite(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.apiService.postOrganizationUserReinvite(this.organizationId, user.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Reinvited User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', user.name || user.email));\n this.actionPromise = null;\n }\n\n async confirm(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.doConfirmation(user);\n await this.actionPromise;\n user.status = OrganizationUserStatusType.Confirmed;\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', user.name || user.email));\n this.actionPromise = null;\n }\n\n async events(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = user.name || user.email;\n childComponent.organizationId = this.organizationId;\n childComponent.entityId = user.id;\n childComponent.showUser = false;\n childComponent.entity = 'user';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private async doConfirmation(user: OrganizationUserUserDetailsResponse) {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const publicKeyResponse = await this.apiService.getUserPublicKey(user.userId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, user.id, request);\n }\n\n private removeUser(user: OrganizationUserUserDetailsResponse) {\n const index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityUsersComponent } from './entity-users.component';\nimport { GroupAddEditComponent } from './group-add-edit.component';\n\n@Component({\n selector: 'app-org-groups',\n templateUrl: 'groups.component.html',\n})\nexport class GroupsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n groups: GroupResponse[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\n private router: Router) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (organization == null || !organization.useGroups) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n await this.load();\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getGroups(this.organizationId);\n const groups = response.data != null && response.data.length > 0 ? response.data : [];\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n this.loading = false;\n }\n\n edit(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n GroupAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.groupId = group != null ? group.id : null;\n childComponent.onSavedGroup.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedGroup.subscribe(() => {\n this.modal.close();\n this.removeGroup(group);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(group: GroupResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteGroupConfirmation'), group.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteGroup(this.organizationId, group.id);\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', group.name));\n this.removeGroup(group);\n } catch { }\n }\n\n users(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'group';\n childComponent.entityId = group.id;\n childComponent.entityName = group.name;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeGroup(group: GroupResponse) {\n const index = this.groups.indexOf(group);\n if (index > -1) {\n this.groups.splice(index, 1);\n }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { EventService } from '../../services/event.service';\r\n\r\nimport { EventResponse } from 'jslib/models/response/eventResponse';\r\nimport { ListResponse } from 'jslib/models/response/listResponse';\r\n\r\n@Component({\r\n selector: 'app-org-events',\r\n templateUrl: 'events.component.html',\r\n})\r\nexport class EventsComponent implements OnInit {\r\n loading = true;\r\n loaded = false;\r\n organizationId: string;\r\n events: any[];\r\n start: string;\r\n end: string;\r\n continuationToken: string;\r\n refreshPromise: Promise;\r\n morePromise: Promise;\r\n\r\n private orgUsersUserIdMap = new Map();\r\n private orgUsersIdMap = new Map();\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute,\r\n private eventService: EventService, private i18nService: I18nService,\r\n private toasterService: ToasterService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n if (organization == null || !organization.useEvents) {\r\n this.router.navigate(['/organizations', this.organizationId]);\r\n return;\r\n }\r\n const defaultDates = this.eventService.getDefaultDateFilters();\r\n this.start = defaultDates[0];\r\n this.end = defaultDates[1];\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\r\n response.data.forEach((u) => {\r\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\r\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\r\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\r\n });\r\n await this.loadEvents(true);\r\n this.loaded = true;\r\n }\r\n\r\n async loadEvents(clearExisting: boolean) {\r\n if (this.refreshPromise != null || this.morePromise != null) {\r\n return;\r\n }\r\n\r\n let dates: string[] = null;\r\n try {\r\n dates = this.eventService.formatDateFilters(this.start, this.end);\r\n } catch (e) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidDateRange'));\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n let response: ListResponse;\r\n try {\r\n const promise = this.apiService.getEventsOrganization(this.organizationId, dates[0], dates[1],\r\n clearExisting ? null : this.continuationToken);\r\n if (clearExisting) {\r\n this.refreshPromise = promise;\r\n } else {\r\n this.morePromise = promise;\r\n }\r\n response = await promise;\r\n } catch { }\r\n\r\n this.continuationToken = response.continuationToken;\r\n const events = response.data.map((r) => {\r\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\r\n const eventInfo = this.eventService.getEventInfo(r);\r\n const user = userId != null && this.orgUsersUserIdMap.has(userId) ?\r\n this.orgUsersUserIdMap.get(userId) : null;\r\n return {\r\n message: eventInfo.message,\r\n appIcon: eventInfo.appIcon,\r\n appName: eventInfo.appName,\r\n userId: userId,\r\n userName: user != null ? user.name : this.i18nService.t('unknown'),\r\n userEmail: user != null ? user.email : '',\r\n date: r.date,\r\n ip: r.ipAddress,\r\n type: r.type,\r\n };\r\n });\r\n\r\n if (!clearExisting && this.events != null && this.events.length > 0) {\r\n this.events = this.events.concat(events);\r\n } else {\r\n this.events = events;\r\n }\r\n\r\n this.loading = false;\r\n this.morePromise = null;\r\n this.refreshPromise = null;\r\n }\r\n}\r\n","export enum OrganizationUserStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-entity-users',\n templateUrl: 'entity-users.component.html',\n})\nexport class EntityUsersComponent implements OnInit {\n @Input() entity: 'group' | 'collection';\n @Input() entityId: string;\n @Input() entityName: string;\n @Input() organizationId: string;\n @Output() onRemovedUser = new EventEmitter();\n\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n\n loading = true;\n users: any[] = [];\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n await this.loadUsers();\n this.loading = false;\n }\n\n async loadUsers() {\n let users: any[] = [];\n if (this.entity === 'group') {\n const response = await this.apiService.getGroupUsers(this.organizationId, this.entityId);\n users = response.data.map((r) => r);\n } else if (this.entity === 'collection') {\n const response = await this.apiService.getCollectionUsers(this.organizationId, this.entityId);\n users = response.data.map((r) => r);\n }\n users.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.users = users;\n }\n\n async remove(user: any) {\n if (this.actionPromise != null || (this.entity === 'collection' && user.accessAll)) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n if (this.entity === 'group') {\n this.actionPromise = this.apiService.deleteGroupUser(this.organizationId, this.entityId,\n user.organizationUserId);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Removed User From Group' });\n } else if (this.entity === 'collection') {\n this.actionPromise = this.apiService.deleteCollectionUser(this.organizationId, this.entityId,\n user.organizationUserId);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Removed User From Collection' });\n }\n\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.email));\n this.onRemovedUser.emit();\n const index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n } catch { }\n }\n}\n","export class SelectionReadOnlyRequest {\n id: string;\n readOnly: boolean;\n\n constructor(id: string, readOnly: boolean) {\n this.id = id;\n this.readOnly = readOnly;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ModalComponent } from '../../modal.component';\nimport { CollectionAddEditComponent } from './collection-add-edit.component';\nimport { EntityUsersComponent } from './entity-users.component';\n\n@Component({\n selector: 'app-org-manage-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n collections: CollectionView[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private collectionService: CollectionService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getCollections(this.organizationId);\n const collections = response.data.map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n this.loading = false;\n }\n\n edit(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n CollectionAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.collectionId = collection != null ? collection.id : null;\n childComponent.onSavedCollection.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedCollection.subscribe(() => {\n this.modal.close();\n this.removeCollection(collection);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(collection: CollectionView) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), collection.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteCollection(this.organizationId, collection.id);\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', collection.name));\n this.removeCollection(collection);\n } catch { }\n }\n\n users(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'collection';\n childComponent.entityId = collection.id;\n childComponent.entityName = collection.name;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeCollection(collection: CollectionView) {\n const index = this.collections.indexOf(collection);\n if (index > -1) {\n this.collections.splice(index, 1);\n }\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\n@Pipe({\n name: 'search',\n})\nexport class SearchPipe implements PipeTransform {\n transform(items: any[], searchText: string, prop1?: string, prop2?: string, prop3?: string): any[] {\n if (items == null || items.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return items;\n }\n\n searchText = searchText.trim().toLowerCase();\n return items.filter((i) => {\n if (prop1 != null && i[prop1] != null && i[prop1].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop2 != null && i[prop2] != null && i[prop2].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop3 != null && i[prop3] != null && i[prop3].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n return false;\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Component({\r\n selector: 'app-org-manage',\r\n templateUrl: 'manage.component.html',\r\n})\r\nexport class ManageComponent implements OnInit {\r\n accessGroups = false;\r\n accessEvents = false;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n this.route.parent.params.subscribe(async (params) => {\r\n const organization = await this.userService.getOrganization(params.organizationId);\r\n this.accessEvents = organization.useEvents;\r\n this.accessGroups = organization.useGroups;\r\n });\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from '../../tools/export.component';\r\n\r\n@Component({\r\n selector: 'app-org-export',\r\n templateUrl: '../../tools/export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n organizationId: string;\r\n\r\n constructor(analytics: Angulartics2, toasterService: ToasterService,\r\n cryptoService: CryptoService, userService: UserService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n exportService: ExportService, private route: ActivatedRoute) {\r\n super(analytics, toasterService, cryptoService, userService, i18nService, platformUtilsService,\r\n exportService);\r\n }\r\n\r\n ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n });\r\n }\r\n\r\n getExportData() {\r\n return this.exportService.getOrganizationExport(this.organizationId, 'csv');\r\n }\r\n\r\n getFileName() {\r\n return super.getFileName('org');\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { Importer } from 'jslib/importers/importer';\n\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { ImportOrganizationCiphersRequest } from 'jslib/models/request/importOrganizationCiphersRequest';\nimport { KvpRequest } from 'jslib/models/request/kvpRequest';\n\nimport { ImportResult } from 'jslib/models/domain/importResult';\n\nimport { ImportComponent as BaseImportComponent } from '../../tools/import.component';\n\n@Component({\n selector: 'app-org-import',\n templateUrl: '../../tools/import.component.html',\n})\nexport class ImportComponent extends BaseImportComponent {\n organizationId: string;\n\n constructor(i18nService: I18nService, analytics: Angulartics2,\n toasterService: ToasterService, cipherService: CipherService,\n folderService: FolderService, apiService: ApiService,\n router: Router, private collectionService: CollectionService,\n private route: ActivatedRoute) {\n super(i18nService, analytics, toasterService, cipherService, folderService, apiService, router);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n this.successNavigate = ['organizations', this.organizationId, 'vault'];\n super.ngOnInit();\n });\n }\n\n protected async postImport(importResult: ImportResult) {\n const request = new ImportOrganizationCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n importResult.ciphers[i].organizationId = this.organizationId;\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.collections != null) {\n for (let i = 0; i < importResult.collections.length; i++) {\n importResult.collections[i].organizationId = this.organizationId;\n const c = await this.collectionService.encrypt(importResult.collections[i]);\n request.collections.push(new CollectionRequest(c));\n }\n }\n if (importResult.collectionRelationships != null) {\n importResult.collectionRelationships.forEach((r) =>\n request.collectionRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportOrganizationCiphers(this.organizationId, request);\n }\n\n protected getImporter(): Importer {\n const importer = super.getImporter();\n if (importer != null) {\n importer.organization = true;\n }\n return importer;\n }\n}\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-org-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent { }\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { EventService } from '../../services/event.service';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\n\n@Component({\n selector: 'app-entity-events',\n templateUrl: 'entity-events.component.html',\n})\nexport class EntityEventsComponent implements OnInit {\n @Input() name: string;\n @Input() entity: 'user' | 'cipher';\n @Input() entityId: string;\n @Input() organizationId: string;\n @Input() showUser = false;\n\n loading = true;\n loaded = false;\n events: any[];\n start: string;\n end: string;\n continuationToken: string;\n refreshPromise: Promise;\n morePromise: Promise;\n\n private orgUsersUserIdMap = new Map();\n private orgUsersIdMap = new Map();\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private eventService: EventService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const defaultDates = this.eventService.getDefaultDateFilters();\n this.start = defaultDates[0];\n this.end = defaultDates[1];\n await this.load();\n }\n\n async load() {\n if (this.showUser) {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n response.data.forEach((u) => {\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\n });\n }\n await this.loadEvents(true);\n this.loaded = true;\n }\n\n async loadEvents(clearExisting: boolean) {\n if (this.refreshPromise != null || this.morePromise != null) {\n return;\n }\n\n let dates: string[] = null;\n try {\n dates = this.eventService.formatDateFilters(this.start, this.end);\n } catch (e) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidDateRange'));\n return;\n }\n\n this.loading = true;\n let response: ListResponse;\n try {\n let promise: Promise;\n if (this.entity === 'user') {\n promise = this.apiService.getEventsOrganizationUser(this.organizationId, this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n } else {\n promise = this.apiService.getEventsCipher(this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n }\n if (clearExisting) {\n this.refreshPromise = promise;\n } else {\n this.morePromise = promise;\n }\n response = await promise;\n } catch { }\n\n this.continuationToken = response.continuationToken;\n const events = response.data.map((r) => {\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\n const eventInfo = this.eventService.getEventInfo(r);\n const user = this.showUser && userId != null && this.orgUsersUserIdMap.has(userId) ?\n this.orgUsersUserIdMap.get(userId) : null;\n return {\n message: eventInfo.message,\n appIcon: eventInfo.appIcon,\n appName: eventInfo.appName,\n userId: userId,\n userName: user != null ? user.name : this.showUser ? this.i18nService.t('unknown') : null,\n userEmail: user != null ? user.email : this.showUser ? '' : null,\n date: r.date,\n ip: r.ipAddress,\n type: r.type,\n };\n });\n\n if (!clearExisting && this.events != null && this.events.length > 0) {\n this.events = this.events.concat(events);\n } else {\n this.events = events;\n }\n\n this.loading = false;\n this.morePromise = null;\n this.refreshPromise = null;\n }\n}\n","import { Location } from '@angular/common';\nimport {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { ModalComponent } from '../../modal.component';\n\nimport { EntityEventsComponent } from '../manage/entity-events.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { GroupingsComponent } from './groupings.component';\n\n@Component({\n selector: 'app-org-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n organization: Organization;\n collectionId: string;\n type: CipherType;\n\n private modal: ModalComponent = null;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private location: Location, private router: Router,\n private syncService: SyncService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver, private messagingService: MessagingService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.groupingsComponent.organization = this.organization;\n this.ciphersComponent.organization = this.organization;\n\n this.route.queryParams.subscribe(async (qParams) => {\n if (!this.organization.isAdmin) {\n await this.syncService.fullSync(false);\n }\n await this.groupingsComponent.load();\n\n if (qParams == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n } else {\n if (qParams.type) {\n const t = parseInt(qParams.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t, true);\n } else if (qParams.collectionId) {\n this.groupingsComponent.selectedCollectionId = qParams.collectionId;\n await this.filterCollection(qParams.collectionId, true);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n }\n\n this.ciphersComponent.searchText = this.groupingsComponent.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const cipher = this.ciphersComponent.ciphers.filter((c) => c.id === qParams.viewEvents);\n if (cipher.length > 0) {\n this.viewEvents(cipher[0]);\n }\n }\n });\n });\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.applyFilter();\n this.clearFilters();\n this.go();\n }\n\n async filterCipherType(type: CipherType, load = false) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n const filter = (c: CipherView) => c.type === type;\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterCollection(collectionId: string, load = false) {\n this.ciphersComponent.showAddNew = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n const filter = (c: CipherView) => {\n if (collectionId === 'unassigned') {\n return c.collectionIds == null || c.collectionIds.length === 0;\n } else {\n return c.collectionIds.indexOf(collectionId) > -1;\n }\n };\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n }\n\n editCipherAttachments(cipher: CipherView) {\n if (this.organization.maxStorageGb == null || this.organization.maxStorageGb === 0) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n if (this.organization.isAdmin) {\n childComponent.collectionIds = cipher.collectionIds;\n childComponent.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async viewEvents(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = cipher.name;\n childComponent.organizationId = this.organization.id;\n childComponent.entityId = cipher.id;\n childComponent.showUser = true;\n childComponent.entity = 'cipher';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.collectionId = null;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n type: this.type,\n collectionId: this.collectionId,\n };\n }\n\n const url = this.router.createUrlTree(['organizations', this.organization.id, 'vault'],\n { queryParams: queryParams }).toString();\n this.location.go(url);\n }\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CiphersComponent as BaseCiphersComponent } from '../../vault/ciphers.component';\n\n@Component({\n selector: 'app-org-vault-ciphers',\n templateUrl: '../../vault/ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent {\n @Output() onEventsClicked = new EventEmitter();\n\n organization: Organization;\n accessEvents = false;\n\n constructor(cipherService: CipherService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n super(cipherService, analytics, toasterService, i18nService, platformUtilsService);\n }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n if (!this.organization.isAdmin) {\n await super.load();\n return;\n }\n this.accessEvents = this.organization.useEvents;\n const ciphers = await this.apiService.getCiphersOrganization(this.organization.id);\n if (ciphers != null && ciphers.data != null && ciphers.data.length) {\n const decCiphers: CipherView[] = [];\n const promises: any[] = [];\n ciphers.data.forEach((r) => {\n const data = new CipherData(r);\n const cipher = new Cipher(data);\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n await Promise.all(promises);\n decCiphers.sort(this.cipherService.getLocaleSortingFunction());\n this.allCiphers = decCiphers;\n } else {\n this.allCiphers = [];\n }\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n applyFilter(filter: (cipher: CipherView) => boolean = null) {\n if (this.organization.isAdmin) {\n super.applyFilter(filter);\n } else {\n const f = (c: CipherView) => c.organizationId === this.organization.id && (filter == null || filter(c));\n super.applyFilter(f);\n }\n }\n\n checkCipher(c: CipherView) {\n // do nothing\n }\n\n events(c: CipherView) {\n this.onEventsClicked.emit(c);\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from '../../vault/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-groupings',\r\n templateUrl: '../../vault/groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n organization: Organization;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService,\r\n private apiService: ApiService, private i18nService: I18nService) {\r\n super(collectionService, folderService);\r\n }\r\n\r\n async loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n await super.loadCollections(this.organization.id);\r\n return;\r\n }\r\n const collections = await this.apiService.getCollections(this.organization.id);\r\n if (collections != null && collections.data != null && collections.data.length) {\r\n const collectionDomains = collections.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collectionDomains);\r\n } else {\r\n this.collections = [];\r\n }\r\n\r\n const unassignedCollection = new CollectionView();\r\n unassignedCollection.name = this.i18nService.t('unassigned');\r\n unassignedCollection.id = 'unassigned';\r\n unassignedCollection.organizationId = this.organization.id;\r\n unassignedCollection.readOnly = true;\r\n this.collections.push(unassignedCollection);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\n@Component({\r\n selector: 'app-organization-layout',\r\n templateUrl: 'organization-layout.component.html',\r\n})\r\nexport class OrganizationLayoutComponent implements OnInit {\r\n organization: Organization;\r\n\r\n private organizationId: string;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n this.route.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n this.organization = await this.userService.getOrganization(this.organizationId);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { AuditService } from 'jslib/abstractions/audit.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\nimport { BreachAccountResponse } from 'jslib/models/response/breachAccountResponse';\r\n\r\n@Component({\r\n selector: 'app-breach-report',\r\n templateUrl: 'breach-report.component.html',\r\n})\r\nexport class BreachReportComponent implements OnInit {\r\n error = false;\r\n username: string;\r\n checkedUsername: string;\r\n breachedAccounts: BreachAccountResponse[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private auditService: AuditService, private userService: UserService) { }\r\n\r\n async ngOnInit() {\r\n this.username = await this.userService.getEmail();\r\n }\r\n\r\n async submit() {\r\n this.error = false;\r\n this.username = this.username.toLowerCase();\r\n try {\r\n this.formPromise = this.auditService.breachedAccounts(this.username);\r\n this.breachedAccounts = await this.formPromise;\r\n } catch {\r\n this.error = true;\r\n }\r\n this.checkedUsername = this.username;\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorComponent as BasePasswordGeneratorComponent,\r\n} from 'jslib/angular/components/password-generator.component';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { PasswordGeneratorHistoryComponent } from './password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator',\r\n templateUrl: 'password-generator.component.html',\r\n})\r\nexport class PasswordGeneratorComponent extends BasePasswordGeneratorComponent {\r\n @ViewChild('historyTemplate', { read: ViewContainerRef }) historyModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2,\r\n platformUtilsService: PlatformUtilsService, i18nService: I18nService,\r\n toasterService: ToasterService, private componentFactoryResolver: ComponentFactoryResolver) {\r\n super(passwordGenerationService, analytics, platformUtilsService, i18nService, toasterService, window);\r\n }\r\n\r\n history() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.historyModalRef.createComponent(factory).instance;\r\n this.modal.show(PasswordGeneratorHistoryComponent, this.historyModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent { }\r\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { PaymentComponent } from './payment.component';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { OrganizationCreateRequest } from 'jslib/models/request/organizationCreateRequest';\n\n@Component({\n selector: 'app-create-organization',\n templateUrl: 'create-organization.component.html',\n})\nexport class CreateOrganizationComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n ownedBusiness = false;\n storageGbPriceMonthly = 0.33;\n additionalStorage = 0;\n additionalSeats = 0;\n plan = 'free';\n interval = 'year';\n name: string;\n billingEmail: string;\n businessName: string;\n\n storageGb: any = {\n price: 0.33,\n monthlyPrice: 0.50,\n yearlyPrice: 4,\n };\n\n plans: any = {\n free: {\n basePrice: 0,\n noAdditionalSeats: true,\n noPayment: true,\n },\n families: {\n basePrice: 1,\n annualBasePrice: 12,\n baseSeats: 5,\n noAdditionalSeats: true,\n annualPlanType: PlanType.FamiliesAnnually,\n },\n teams: {\n basePrice: 5,\n annualBasePrice: 60,\n monthlyBasePrice: 8,\n baseSeats: 5,\n seatPrice: 2,\n annualSeatPrice: 24,\n monthlySeatPrice: 2.5,\n monthPlanType: PlanType.TeamsMonthly,\n annualPlanType: PlanType.TeamsAnnually,\n },\n enterprise: {\n seatPrice: 3,\n annualSeatPrice: 36,\n monthlySeatPrice: 4,\n monthPlanType: PlanType.EnterpriseMonthly,\n annualPlanType: PlanType.EnterpriseAnnually,\n },\n };\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private router: Router, private syncService: SyncService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.plan === 'families' || qParams.plan === 'teams' || qParams.plan === 'enterprise') {\n this.plan = qParams.plan;\n }\n });\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n let key: string = null;\n let collectionCt: string = null;\n\n try {\n this.formPromise = this.cryptoService.makeShareKey().then((shareKey) => {\n key = shareKey[0].encryptedString;\n return this.cryptoService.encrypt(this.i18nService.t('defaultCollection'), shareKey[1]);\n }).then((collection) => {\n collectionCt = collection.encryptedString;\n if (this.selfHosted || this.plan === 'free') {\n return null;\n } else {\n return this.paymentComponent.createPaymentToken();\n }\n }).then((token: string) => {\n if (this.selfHosted) {\n const fd = new FormData();\n fd.append('license', files[0]);\n fd.append('key', key);\n fd.append('collectionName', collectionCt);\n return this.apiService.postOrganizationLicense(fd);\n } else {\n const request = new OrganizationCreateRequest();\n request.key = key;\n request.collectionName = collectionCt;\n request.name = this.name;\n request.billingEmail = this.billingEmail;\n\n if (this.plan === 'free') {\n request.planType = PlanType.Free;\n } else {\n request.paymentToken = token;\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.country = this.paymentComponent.getCountry();\n if (this.interval === 'month') {\n request.planType = this.plans[this.plan].monthPlanType;\n } else {\n request.planType = this.plans[this.plan].annualPlanType;\n }\n }\n return this.apiService.postOrganization(request);\n }\n }).then((response) => {\n return this.finalize(response.id);\n });\n await this.formPromise;\n } catch { }\n }\n\n async finalize(orgId: string) {\n await Promise.all([\n this.apiService.refreshIdentityToken(),\n this.syncService.fullSync(true),\n ]);\n this.analytics.eventTrack.next({ action: 'Created Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationCreated'),\n this.i18nService.t('organizationReadyToGo'));\n this.router.navigate(['/organizations/' + orgId]);\n }\n\n changedPlan() {\n if (this.plans[this.plan].monthPlanType == null) {\n this.interval = 'year';\n }\n\n if (this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 0;\n } else if (!this.additionalSeats && !this.plans[this.plan].baseSeats &&\n !this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 1;\n }\n }\n\n changedOwnedBusiness() {\n if (!this.ownedBusiness || this.plan === 'teams' || this.plan === 'enterprise') {\n return;\n }\n this.plan = 'teams';\n }\n\n additionalStorageTotal(annual: boolean): number {\n if (annual) {\n return (this.additionalStorage || 0) * this.storageGb.yearlyPrice;\n } else {\n return (this.additionalStorage || 0) * this.storageGb.monthlyPrice;\n }\n }\n\n seatTotal(annual: boolean): number {\n if (this.plans[this.plan].noAdditionalSeats) {\n return 0;\n }\n\n if (annual) {\n return this.plans[this.plan].annualSeatPrice * (this.additionalSeats || 0);\n } else {\n return this.plans[this.plan].monthlySeatPrice * (this.additionalSeats || 0);\n }\n }\n\n baseTotal(annual: boolean): number {\n if (annual) {\n return (this.plans[this.plan].annualBasePrice || 0);\n } else {\n return (this.plans[this.plan].monthlyBasePrice || 0);\n }\n }\n\n get total(): number {\n const annual = this.interval === 'year';\n return this.baseTotal(annual) + this.seatTotal(annual) + this.additionalStorageTotal(annual);\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { BillingResponse } from 'jslib/models/response/billingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\n@Component({\n selector: 'app-user-billing',\n templateUrl: 'user-billing.component.html',\n})\nexport class UserBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showAdjustPayment = false;\n showUpdateLicense = false;\n billing: BillingResponse;\n paymentMethodType = PaymentMethodType;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n await this.load();\n this.firstLoaded = true;\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n\n const premium = this.tokenService.getPremium();\n if (premium) {\n this.loading = true;\n this.billing = await this.apiService.getUserBilling();\n } else {\n this.router.navigate(['/settings/premium']);\n return;\n }\n\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postReinstatePremium();\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postCancelPremium();\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const licenseString = JSON.stringify(this.billing.license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_premium_license.json');\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.billing != null ? this.billing.subscription : null;\n }\n\n get nextInvoice() {\n return this.billing != null ? this.billing.upcomingInvoice : null;\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get charges() {\n return this.billing != null ? this.billing.charges : null;\n }\n\n get storagePercentage() {\n return this.billing != null && this.billing.maxStorageGb ?\n +(100 * (this.billing.storageGb / this.billing.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n}\n","export enum PaymentMethodType {\n Card = 0,\n BankAccount = 1,\n PayPal = 2,\n Bitcoin = 3,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PaymentRequest } from 'jslib/models/request/paymentRequest';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-adjust-payment',\n templateUrl: 'adjust-payment.component.html',\n})\nexport class AdjustPaymentComponent {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n @Input() currentType?: PaymentMethodType;\n @Input() organizationId: string;\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n paymentMethodType = PaymentMethodType;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new PaymentRequest();\n this.formPromise = this.paymentComponent.createPaymentToken().then((token) => {\n request.paymentToken = token;\n if (this.organizationId == null) {\n return this.apiService.postAccountPayment(request);\n } else {\n return this.apiService.postOrganizationPayment(this.organizationId, request);\n }\n });\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.currentType == null ? 'Added Payment Method' : 'Changed Payment Method',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedPaymentMethod'));\n this.onAdjusted.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get canChange() {\n return this.currentType == null || this.currentType === PaymentMethodType.Card || this.organizationId != null;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { StorageRequest } from 'jslib/models/request/storageRequest';\n\n@Component({\n selector: 'app-adjust-storage',\n templateUrl: 'adjust-storage.component.html',\n})\nexport class AdjustStorageComponent {\n @Input() storageGbPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n storageAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new StorageRequest();\n request.storageGbAdjustment = this.storageAdjustment;\n if (!this.add) {\n request.storageGbAdjustment *= -1;\n }\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountStorage(request);\n } else {\n this.formPromise = this.apiService.postOrganizationStorage(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Storage' : 'Removed Storage' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedStorage', request.storageGbAdjustment.toString()));\n this.onAdjusted.emit(this.storageAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedStorageTotal(): number {\n return this.storageGbPrice * this.storageAdjustment;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-update-license',\n templateUrl: 'update-license.component.html',\n})\nexport class UpdateLicenseComponent {\n @Input() organizationId: string;\n @Output() onUpdated = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n try {\n const fd = new FormData();\n fd.append('license', files[0]);\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountLicense(fd);\n } else {\n this.formPromise = this.apiService.postOrganizationLicenseUpdate(this.organizationId, fd);\n }\n\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated License' });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedLicense'));\n this.onUpdated.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-premium',\n templateUrl: 'premium.component.html',\n})\nexport class PremiumComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n premiumPrice = 10;\n storageGbPrice = 4;\n additionalStorage = 0;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private tokenService: TokenService,\n private router: Router, private messagingService: MessagingService,\n private syncService: SyncService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n const premium = await this.tokenService.getPremium();\n if (premium) {\n this.router.navigate(['/settings/billing']);\n return;\n }\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n try {\n if (this.selfHosted) {\n if (!this.tokenService.getEmailVerified()) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verifyEmailFirst'));\n return;\n }\n\n const fd = new FormData();\n fd.append('license', files[0]);\n this.formPromise = this.apiService.postAccountLicense(fd).then(() => {\n return this.finalizePremium();\n });\n } else {\n this.formPromise = this.paymentComponent.createPaymentToken().then((token) => {\n const fd = new FormData();\n fd.append('paymentToken', token);\n fd.append('additionalStorageGb', (this.additionalStorage || 0).toString());\n return this.apiService.postPremium(fd);\n }).then(() => {\n return this.finalizePremium();\n });\n }\n await this.formPromise;\n } catch { }\n }\n\n async finalizePremium() {\n await Promise.all([\n this.apiService.refreshIdentityToken(),\n this.syncService.fullSync(true),\n ]);\n this.analytics.eventTrack.next({ action: 'Signed Up Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('premiumUpdated'));\n this.messagingService.send('purchasedPremium');\n this.router.navigate(['/settings/billing']);\n }\n\n get additionalStorageTotal(): number {\n return this.storageGbPrice * this.additionalStorage;\n }\n\n get total(): number {\n return this.additionalStorageTotal + this.premiumPrice;\n }\n}\n","
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \"Visa,\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n {{'paypalClickSubmit' | i18n}}\n
\n
\n\n \n {{'verifyBankAccountInitialDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorDuoRequest } from 'jslib/models/request/updateTwoFactorDuoRequest';\nimport { TwoFactorDuoResponse } from 'jslib/models/response/twoFactorDuoResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-duo',\n templateUrl: 'two-factor-duo.component.html',\n})\nexport class TwoFactorDuoComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Duo;\n ikey: string;\n skey: string;\n host: string;\n formPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorDuoRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.integrationKey = this.ikey;\n request.secretKey = this.skey;\n request.host = this.host;\n\n return super.enable(async () => {\n if (this.organizationId != null) {\n this.formPromise = this.apiService.putTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.putTwoFactorDuo(request);\n }\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private processResponse(response: TwoFactorDuoResponse) {\n this.ikey = response.integrationKey;\n this.skey = response.secretKey;\n this.host = response.host;\n this.enabled = response.enabled;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { UpdateDomainsRequest } from 'jslib/models/request/updateDomainsRequest';\n\n@Component({\n selector: 'app-domain-rules',\n templateUrl: 'domain-rules.component.html',\n})\nexport class DomainRulesComponent implements OnInit {\n loading = true;\n custom: string[] = [];\n global: any[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const response = await this.apiService.getSettingsDomains();\n this.loading = false;\n if (response.equivalentDomains != null) {\n this.custom = response.equivalentDomains.map((d) => d.join(', '));\n }\n if (response.globalEquivalentDomains != null) {\n this.global = response.globalEquivalentDomains.map((d) => {\n return {\n domains: d.domains.join(', '),\n excluded: d.excluded,\n key: d.type,\n };\n });\n }\n }\n\n toggleExcluded(globalDomain: any) {\n globalDomain.excluded = !globalDomain.excluded;\n }\n\n customize(globalDomain: any) {\n globalDomain.excluded = true;\n this.custom.push(globalDomain.domains);\n }\n\n remove(index: number) {\n this.custom.splice(index, 1);\n }\n\n add() {\n this.custom.push('');\n }\n\n async submit() {\n const request = new UpdateDomainsRequest();\n request.excludedGlobalEquivalentDomains = this.global.filter((d) => d.excluded)\n .map((d) => d.key);\n if (request.excludedGlobalEquivalentDomains.length === 0) {\n request.excludedGlobalEquivalentDomains = null;\n }\n request.equivalentDomains = this.custom.filter((d) => d != null && d.trim() !== '')\n .map((d) => d.split(',').map((d2) => d2.trim()));\n if (request.equivalentDomains.length === 0) {\n request.equivalentDomains = null;\n }\n\n try {\n this.formPromise = this.apiService.putSettingsDomains(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Saved Equivalent Domains' });\n this.toasterService.popAsync('success', null, this.i18nService.t('domainsUpdated'));\n } catch { }\n }\n\n indexTrackBy(index: number, obj: any): any {\n return index;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-options',\n templateUrl: 'options.component.html',\n})\nexport class OptionsComponent implements OnInit {\n disableIcons: boolean;\n locale: string;\n localeOptions: any[];\n\n private startingLocale: string;\n\n constructor(private storageService: StorageService, private stateService: StateService,\n private analytics: Angulartics2, private i18nService: I18nService,\n private toasterService: ToasterService) {\n const localeOptions: any[] = [];\n i18nService.supportedTranslationLocales.forEach((locale) => {\n localeOptions.push({ name: locale, value: locale });\n });\n localeOptions.sort(Utils.getSortFunction(i18nService, 'name'));\n localeOptions.splice(0, 0, { name: i18nService.t('default'), value: null });\n this.localeOptions = localeOptions;\n }\n\n async ngOnInit() {\n this.disableIcons = await this.storageService.get(ConstantsService.disableFaviconKey);\n this.locale = this.startingLocale = await this.storageService.get(ConstantsService.localeKey);\n }\n\n async submit() {\n await this.storageService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.stateService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.storageService.save(ConstantsService.localeKey, this.locale);\n this.analytics.eventTrack.next({ action: 'Saved Options' });\n if (this.locale !== this.startingLocale) {\n window.location.reload();\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('optionsUpdated'));\n }\n }\n}\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { DeauthorizeSessionsComponent } from './deauthorize-sessions.component';\r\nimport { DeleteAccountComponent } from './delete-account.component';\r\nimport { PurgeVaultComponent } from './purge-vault.component';\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: 'account.component.html',\r\n})\r\nexport class AccountComponent {\r\n @ViewChild('deauthorizeSessionsTemplate', { read: ViewContainerRef }) deauthModalRef: ViewContainerRef;\r\n @ViewChild('purgeVaultTemplate', { read: ViewContainerRef }) purgeModalRef: ViewContainerRef;\r\n @ViewChild('deleteAccountTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n deauthorizeSessions() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deauthModalRef.createComponent(factory).instance;\r\n this.modal.show(DeauthorizeSessionsComponent, this.deauthModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n purgeVault() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.purgeModalRef.createComponent(factory).instance;\r\n this.modal.show(PurgeVaultComponent, this.purgeModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n deleteAccount() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deleteModalRef.createComponent(factory).instance;\r\n this.modal.show(DeleteAccountComponent, this.deleteModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nconst BroadcasterSubscriptionId = 'SettingsComponent';\r\n\r\n@Component({\r\n selector: 'app-settings',\r\n templateUrl: 'settings.component.html',\r\n})\r\nexport class SettingsComponent implements OnInit, OnDestroy {\r\n premium: boolean;\r\n\r\n constructor(private tokenService: TokenService, private broadcasterService: BroadcasterService,\r\n private ngZone: NgZone) { }\r\n\r\n async ngOnInit() {\r\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\r\n this.ngZone.run(async () => {\r\n switch (message.command) {\r\n case 'purchasedPremium':\r\n await this.load();\r\n break;\r\n default:\r\n }\r\n });\r\n });\r\n\r\n await this.load();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\r\n }\r\n\r\n async load() {\r\n this.premium = await this.tokenService.getPremium();\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\n\r\n@Component({\r\n selector: 'app-vault-collections',\r\n templateUrl: 'collections.component.html',\r\n})\r\nexport class CollectionsComponent implements OnInit, OnDestroy {\r\n @Input() cipherId: string;\r\n @Output() onSavedCollections = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n cipher: CipherView;\r\n collectionIds: string[];\r\n collections: CollectionView[] = [];\r\n\r\n protected cipherDomain: Cipher;\r\n\r\n constructor(protected collectionService: CollectionService, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected cipherService: CipherService) { }\r\n\r\n async ngOnInit() {\r\n this.cipherDomain = await this.loadCipher();\r\n this.collectionIds = this.loadCipherCollections();\r\n this.cipher = await this.cipherDomain.decrypt();\r\n this.collections = await this.loadCollections();\r\n\r\n this.selectAll(false);\r\n if (this.collectionIds != null) {\r\n this.collections.forEach((c) => {\r\n (c as any).checked = this.collectionIds.indexOf(c.id) > -1;\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.selectAll(false);\r\n }\r\n\r\n async submit() {\r\n this.cipherDomain.collectionIds = this.collections\r\n .filter((c) => !!(c as any).checked)\r\n .map((c) => c.id);\r\n this.formPromise = this.saveCollections();\r\n await this.formPromise;\r\n this.onSavedCollections.emit();\r\n this.analytics.eventTrack.next({ action: 'Edited Cipher Collections' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('editedItem'));\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n protected loadCipher() {\r\n return this.cipherService.get(this.cipherId);\r\n }\r\n\r\n protected loadCipherCollections() {\r\n return this.cipherDomain.collectionIds;\r\n }\r\n\r\n protected async loadCollections() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n return allCollections.filter((c) => !c.readOnly && c.organizationId === this.cipher.organizationId);\r\n }\r\n\r\n protected saveCollections() {\r\n return this.cipherService.saveCollectionsWithServer(this.cipherDomain);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-vault-attachments',\r\n templateUrl: 'attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n constructor(cipherService: CipherService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cryptoService: CryptoService, tokenService: TokenService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(cipherService, analytics, toasterService, i18nService, cryptoService, tokenService,\r\n platformUtilsService, window);\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\n\nimport { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/add-edit.component';\nimport { LoginUriView } from 'jslib/models/view/loginUriView';\n\n@Component({\n selector: 'app-vault-add-edit',\n templateUrl: 'add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent implements OnInit {\n isPremium: boolean;\n totpCode: string;\n totpCodeFormatted: string;\n totpDash: number;\n totpSec: number;\n totpLow: boolean;\n\n protected totpInterval: number;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n analytics: Angulartics2, toasterService: ToasterService,\n auditService: AuditService, stateService: StateService,\n protected tokenService: TokenService, protected totpService: TotpService,\n protected passwordGenerationService: PasswordGenerationService, protected messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, analytics,\n toasterService, auditService, stateService);\n }\n\n async ngOnInit() {\n await super.load();\n this.cleanUp();\n\n this.isPremium = this.tokenService.getPremium();\n if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&\n (this.cipher.organizationUseTotp || this.isPremium)) {\n await this.totpUpdateCode();\n await this.totpTick();\n\n this.totpInterval = window.setInterval(async () => {\n await this.totpTick();\n }, 1000);\n }\n }\n\n toggleFavorite() {\n this.cipher.favorite = !this.cipher.favorite;\n }\n\n launch(uri: LoginUriView) {\n if (!uri.canLaunch) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Launched Login URI' });\n this.platformUtilsService.launchUri(uri.uri);\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType });\n this.platformUtilsService.copyToClipboard(value, { doc: window.document });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n }\n\n async generatePassword(): Promise {\n const confirmed = await super.generatePassword();\n if (confirmed) {\n const options = await this.passwordGenerationService.getOptions();\n this.cipher.login.password = await this.passwordGenerationService.generatePassword(options);\n }\n return confirmed;\n }\n\n async premiumRequired() {\n const premium = await this.tokenService.getPremium();\n if (!premium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n async upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.cipher.organizationId });\n }\n\n protected cleanUp() {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n\n protected async totpUpdateCode() {\n if (this.cipher == null || this.cipher.type !== CipherType.Login || this.cipher.login.totp == null) {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n return;\n }\n\n this.totpCode = await this.totpService.getCode(this.cipher.login.totp);\n if (this.totpCode != null) {\n this.totpCodeFormatted = this.totpCode.substring(0, 3) + ' ' + this.totpCode.substring(3);\n } else {\n this.totpCodeFormatted = null;\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n }\n\n protected async totpTick() {\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const mod = epoch % 30;\n\n this.totpSec = 30 - mod;\n this.totpDash = +(Math.round(((2.62 * mod) + 'e+2') as any) + 'e-2');\n this.totpLow = this.totpSec <= 7;\n if (mod === 0) {\n await this.totpUpdateCode();\n }\n }\n}\n","import { Folder } from '../domain/folder';\r\n\r\nexport class FolderRequest {\r\n name: string;\r\n\r\n constructor(folder: Folder) {\r\n this.name = folder.name ? folder.name.encryptedString : null;\r\n }\r\n}\r\n","import { Location } from '@angular/common';\nimport {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { OrganizationsComponent } from '../settings/organizations.component';\nimport { UpdateKeyComponent } from '../settings/update-key.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { BulkDeleteComponent } from './bulk-delete.component';\nimport { BulkMoveComponent } from './bulk-move.component';\nimport { BulkShareComponent } from './bulk-share.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { FolderAddEditComponent } from './folder-add-edit.component';\nimport { GroupingsComponent } from './groupings.component';\nimport { ShareComponent } from './share.component';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild(OrganizationsComponent) organizationsComponent: OrganizationsComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('folderAddEdit', { read: ViewContainerRef }) folderAddEditModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('share', { read: ViewContainerRef }) shareModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('bulkDeleteTemplate', { read: ViewContainerRef }) bulkDeleteModalRef: ViewContainerRef;\n @ViewChild('bulkMoveTemplate', { read: ViewContainerRef }) bulkMoveModalRef: ViewContainerRef;\n @ViewChild('bulkShareTemplate', { read: ViewContainerRef }) bulkShareModalRef: ViewContainerRef;\n @ViewChild('updateKeyTemplate', { read: ViewContainerRef }) updateKeyModalRef: ViewContainerRef;\n\n favorites: boolean = false;\n type: CipherType = null;\n folderId: string = null;\n collectionId: string = null;\n showVerifyEmail = false;\n showBrowserOutdated = false;\n showUpdateKey = false;\n showPremiumCallout = false;\n\n private modal: ModalComponent = null;\n\n constructor(private syncService: SyncService, private route: ActivatedRoute,\n private router: Router, private location: Location,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private tokenService: TokenService, private cryptoService: CryptoService,\n private messagingService: MessagingService, private userService: UserService,\n private platformUtilsService: PlatformUtilsService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n this.showVerifyEmail = !(await this.tokenService.getEmailVerified());\n this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;\n const hasEncKey = await this.cryptoService.hasEncKey();\n this.showUpdateKey = !hasEncKey;\n const isPremium = await this.tokenService.getPremium();\n this.showPremiumCallout = !this.showVerifyEmail && !isPremium &&\n !this.platformUtilsService.isSelfHost();\n\n this.route.queryParams.subscribe(async (params) => {\n await this.syncService.fullSync(false);\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n ]);\n\n if (params == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n return;\n }\n\n if (params.favorites) {\n this.groupingsComponent.selectedFavorites = true;\n await this.filterFavorites();\n } else if (params.type) {\n const t = parseInt(params.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t);\n } else if (params.folderId) {\n this.groupingsComponent.selectedFolder = true;\n this.groupingsComponent.selectedFolderId = params.folderId;\n await this.filterFolder(params.folderId);\n } else if (params.collectionId) {\n this.groupingsComponent.selectedCollectionId = params.collectionId;\n await this.filterCollection(params.collectionId);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n });\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.load();\n this.clearFilters();\n this.go();\n }\n\n async filterFavorites() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFavorites');\n await this.ciphersComponent.load((c) => c.favorite);\n this.clearFilters();\n this.favorites = true;\n this.go();\n }\n\n async filterCipherType(type: CipherType) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n await this.ciphersComponent.load((c) => c.type === type);\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterFolder(folderId: string) {\n this.ciphersComponent.showAddNew = true;\n folderId = folderId === 'none' ? null : folderId;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFolder');\n await this.ciphersComponent.load((c) => c.folderId === folderId);\n this.clearFilters();\n this.folderId = folderId == null ? 'none' : folderId;\n this.go();\n }\n\n async filterCollection(collectionId: string) {\n this.ciphersComponent.showAddNew = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n await this.ciphersComponent.load((c) => c.collectionIds.indexOf(collectionId) > -1);\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n }\n\n async editCipherAttachments(cipher: CipherView) {\n const premium = await this.tokenService.getPremium();\n if (cipher.organizationId == null && !premium) {\n this.messagingService.send('premiumRequired');\n return;\n } else if (cipher.organizationId != null) {\n const org = await this.userService.getOrganization(cipher.organizationId);\n if (org != null && (org.maxStorageGb == null || org.maxStorageGb === 0)) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n shareCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.shareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ShareComponent, this.shareModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSharedCipher.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async addFolder() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = null;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async editFolder(folderId: string) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = folderId;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n childComponent.onDeletedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n await this.filterFolder('none');\n this.groupingsComponent.selectedFolderId = null;\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n component.folderId = this.folderId === 'none' ? null : this.folderId;\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n bulkDelete() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkDeleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkDeleteComponent, this.bulkDeleteModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onDeleted.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n bulkShare() {\n const selectedCiphers = this.ciphersComponent.getSelected();\n if (selectedCiphers.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkShareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkShareComponent, this.bulkShareModalRef);\n\n childComponent.ciphers = selectedCiphers;\n childComponent.onShared.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n bulkMove() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkMoveModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkMoveComponent, this.bulkMoveModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onMoved.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n selectAll(select: boolean) {\n this.ciphersComponent.selectAll(select);\n }\n\n updateKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.updateKeyModalRef.createComponent(factory).instance;\n this.modal.show(UpdateKeyComponent, this.updateKeyModalRef);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.folderId = null;\n this.collectionId = null;\n this.favorites = false;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n favorites: this.favorites ? true : null,\n type: this.type,\n folderId: this.folderId,\n collectionId: this.collectionId,\n };\n }\n\n const url = this.router.createUrlTree(['vault'], { queryParams: queryParams }).toString();\n this.location.go(url);\n }\n}\n","export enum UriMatchType {\r\n Domain = 0,\r\n Host = 1,\r\n StartsWith = 2,\r\n Exact = 3,\r\n RegularExpression = 4,\r\n Never = 5,\r\n}\r\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\n@Component({\n selector: 'app-vault-icon',\n templateUrl: 'icon.component.html',\n})\nexport class IconComponent implements OnChanges {\n @Input() cipher: any;\n icon: string;\n image: string;\n fallbackImage: string;\n imageEnabled: boolean;\n\n private iconsUrl: string;\n\n constructor(private environmentService: EnvironmentService, private stateService: StateService) {\n this.iconsUrl = environmentService.iconsUrl;\n if (!this.iconsUrl) {\n if (environmentService.baseUrl) {\n this.iconsUrl = environmentService.baseUrl + '/icons';\n } else {\n this.iconsUrl = 'https://icons.bitwarden.net';\n }\n }\n }\n\n async ngOnChanges() {\n this.imageEnabled = !(await this.stateService.get(ConstantsService.disableFaviconKey));\n\n switch (this.cipher.type) {\n case CipherType.Login:\n this.icon = 'fa-globe';\n this.setLoginIcon();\n break;\n case CipherType.SecureNote:\n this.icon = 'fa-sticky-note-o';\n break;\n case CipherType.Card:\n this.icon = 'fa-credit-card';\n break;\n case CipherType.Identity:\n this.icon = 'fa-id-card-o';\n break;\n default:\n break;\n }\n }\n\n private setLoginIcon() {\n if (this.cipher.login.uri) {\n let hostnameUri = this.cipher.login.uri;\n let isWebsite = false;\n\n if (hostnameUri.indexOf('androidapp://') === 0) {\n this.icon = 'fa-android';\n this.image = null;\n } else if (hostnameUri.indexOf('iosapp://') === 0) {\n this.icon = 'fa-apple';\n this.image = null;\n } else if (this.imageEnabled && hostnameUri.indexOf('://') === -1 && hostnameUri.indexOf('.') > -1) {\n hostnameUri = 'http://' + hostnameUri;\n isWebsite = true;\n } else if (this.imageEnabled) {\n isWebsite = hostnameUri.indexOf('http') === 0 && hostnameUri.indexOf('.') > -1;\n }\n\n if (this.imageEnabled && isWebsite) {\n try {\n this.image = this.iconsUrl + '/' + Utils.getHostname(hostnameUri) + '/icon.png';\n this.fallbackImage = 'images/fa-globe.png';\n } catch (e) { }\n }\n } else {\n this.image = null;\n }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user-layout',\r\n templateUrl: 'user-layout.component.html',\r\n})\r\nexport class UserLayoutComponent implements OnInit {\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: 'footer.component.html',\n})\nexport class FooterComponent implements OnInit {\n version: string;\n year: string = '2015';\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.year = new Date().getFullYear().toString();\n this.version = this.platformUtilsService.getApplicationVersion();\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: 'navbar.component.html',\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n selfHosted = false;\r\n name: string;\r\n\r\n constructor(private messagingService: MessagingService, private platformUtilsService: PlatformUtilsService,\r\n private tokenService: TokenService) {\r\n this.selfHosted = this.platformUtilsService.isSelfHost();\r\n }\r\n\r\n async ngOnInit() {\r\n this.name = await this.tokenService.getName();\r\n if (this.name == null || this.name.trim() === '') {\r\n this.name = await this.tokenService.getEmail();\r\n }\r\n }\r\n\r\n lock() {\r\n this.messagingService.send('lockVault');\r\n }\r\n\r\n logOut() {\r\n this.messagingService.send('logout');\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { VerifyDeleteRecoverRequest } from 'jslib/models/request/verifyDeleteRecoverRequest';\n\n@Component({\n selector: 'app-verify-recover-delete',\n templateUrl: 'verify-recover-delete.component.html',\n})\nexport class VerifyRecoverDeleteComponent implements OnInit {\n email: string;\n formPromise: Promise;\n\n private userId: string;\n private token: string;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute) {\n }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null && qParams.email != null) {\n this.userId = qParams.userId;\n this.token = qParams.token;\n this.email = qParams.email;\n } else {\n this.router.navigate(['/']);\n }\n });\n }\n\n async submit() {\n try {\n const request = new VerifyDeleteRecoverRequest(this.userId, this.token);\n this.formPromise = this.apiService.postAccountRecoverDeleteToken(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered Delete' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeleteRecoverRequest } from 'jslib/models/request/deleteRecoverRequest';\n\n@Component({\n selector: 'app-recover-delete',\n templateUrl: 'recover-delete.component.html',\n})\nexport class RecoverDeleteComponent {\n email: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService) {\n }\n\n async submit() {\n try {\n const request = new DeleteRecoverRequest();\n request.email = this.email.toLowerCase();\n this.formPromise = this.apiService.postAccountRecoverDelete(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Started Delete Recovery' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deleteRecoverEmailSent'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoveryRequest } from 'jslib/models/request/twoFactorRecoveryRequest';\n\n@Component({\n selector: 'app-recover-two-factor',\n templateUrl: 'recover-two-factor.component.html',\n})\nexport class RecoverTwoFactorComponent {\n email: string;\n masterPassword: string;\n recoveryCode: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private cryptoService: CryptoService) {\n }\n\n async submit() {\n try {\n const request = new TwoFactorRecoveryRequest();\n request.recoveryCode = this.recoveryCode.replace(/\\s/g, '').toLowerCase();\n request.email = this.email.toLowerCase();\n const key = await this.cryptoService.makeKey(this.masterPassword, request.email);\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n this.formPromise = this.apiService.postTwoFactorRecover(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered 2FA' });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepRecoverDisabled'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserAcceptRequest } from 'jslib/models/request/organizationUserAcceptRequest';\n\n@Component({\n selector: 'app-accept-organization',\n templateUrl: 'accept-organization.component.html',\n})\nexport class AcceptOrganizationComponent implements OnInit {\n loading = true;\n authed = false;\n orgName: string;\n email: string;\n actionPromise: Promise;\n\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService,\n private stateService: StateService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n await this.stateService.remove('orgInvitation');\n let error = qParams.organizationId == null || qParams.organizationUserId == null || qParams.token == null;\n if (!error) {\n this.authed = await this.userService.isAuthenticated();\n if (this.authed) {\n const request = new OrganizationUserAcceptRequest();\n request.token = qParams.token;\n try {\n this.actionPromise = this.apiService.postOrganizationUserAccept(qParams.organizationId,\n qParams.organizationUserId, request);\n await this.actionPromise;\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('inviteAccepted'),\n body: this.i18nService.t('inviteAcceptedDesc'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/vault']);\n } catch {\n error = true;\n }\n } else {\n await this.stateService.save('orgInvitation', qParams);\n this.email = qParams.email;\n this.orgName = qParams.organizationName;\n }\n }\n\n if (error) {\n this.toasterService.popAsync('error', null, this.i18nService.t('inviteAcceptFailed'));\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { VerifyEmailRequest } from 'jslib/models/request/verifyEmailRequest';\n\n@Component({\n selector: 'app-verify-email-token',\n templateUrl: 'verify-email-token.component.html',\n})\nexport class VerifyEmailTokenComponent implements OnInit {\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null) {\n try {\n await this.apiService.postAccountVerifyEmailToken(\n new VerifyEmailRequest(qParams.userId, qParams.token));\n const authed = await this.userService.isAuthenticated();\n if (authed) {\n await this.apiService.refreshIdentityToken();\n }\n this.toasterService.popAsync('success', null, this.i18nService.t('emailVerified'));\n this.router.navigate(['/']);\n return;\n } catch { }\n }\n this.toasterService.popAsync('error', null, this.i18nService.t('emailVerifiedFailed'));\n this.router.navigate(['/']);\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { RouterService } from '../services/router.service';\r\n\r\nimport { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component';\r\n\r\n@Component({\r\n selector: 'app-lock',\r\n templateUrl: 'lock.component.html',\r\n})\r\nexport class LockComponent extends BaseLockComponent implements OnInit {\r\n constructor(router: Router, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n platformUtilsService: PlatformUtilsService, messagingService: MessagingService,\r\n userService: UserService, cryptoService: CryptoService,\r\n private routerService: RouterService) {\r\n super(router, analytics, toasterService, i18nService, platformUtilsService,\r\n messagingService, userService, cryptoService);\r\n }\r\n\r\n async ngOnInit() {\r\n const authed = await this.userService.isAuthenticated();\r\n if (!authed) {\r\n this.router.navigate(['/']);\r\n } else if (await this.cryptoService.hasKey()) {\r\n this.router.navigate(['vault']);\r\n }\r\n\r\n const previousUrl = this.routerService.getPreviousUrl();\r\n if (previousUrl !== '/' && previousUrl.indexOf('lock') === -1) {\r\n this.successRoute = previousUrl;\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { HintComponent as BaseHintComponent } from 'jslib/angular/components/hint.component';\r\n\r\n@Component({\r\n selector: 'app-hint',\r\n templateUrl: 'hint.component.html',\r\n})\r\nexport class HintComponent extends BaseHintComponent {\r\n constructor(router: Router, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n apiService: ApiService) {\r\n super(router, analytics, toasterService, i18nService, apiService);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component';\n\n@Component({\n selector: 'app-register',\n templateUrl: 'register.component.html',\n})\nexport class RegisterComponent extends BaseRegisterComponent {\n showCreateOrgMessage = false;\n\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, cryptoService: CryptoService,\n apiService: ApiService, private route: ActivatedRoute,\n stateService: StateService) {\n super(authService, router, analytics, toasterService, i18nService, cryptoService, apiService, stateService);\n }\n\n ngOnInit() {\n this.route.queryParams.subscribe((qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.showCreateOrgMessage = true;\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n });\n }\n}\n","/**\r\n * Duo Web SDK v2\r\n * Copyright 2017, Duo Security\r\n */\r\n(function (root, factory) {\r\n /*eslint-disable */\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define([], factory);\r\n /*eslint-enable */\r\n }\r\n else if (typeof module === 'object' && module.exports) {\r\n // Node. Does not work with strict CommonJS, but\r\n // only CommonJS-like environments that support module.exports,\r\n // like Node.\r\n module.exports = factory();\r\n }\r\n else {\r\n // Browser globals (root is window)\r\n var Duo = factory();\r\n // If the Javascript was loaded via a script tag, attempt to autoload\r\n // the frame.\r\n Duo._onReady(Duo.init);\r\n // Attach Duo to the `window` object\r\n root.Duo = Duo;\r\n }\r\n}(this, function () {\r\n var DUO_MESSAGE_FORMAT = /^(?:AUTH|ENROLL)+\\|[A-Za-z0-9\\+\\/=]+\\|[A-Za-z0-9\\+\\/=]+$/;\r\n var DUO_ERROR_FORMAT = /^ERR\\|[\\w\\s\\.\\(\\)]+$/;\r\n var DUO_OPEN_WINDOW_FORMAT = /^DUO_OPEN_WINDOW\\|/;\r\n var VALID_OPEN_WINDOW_DOMAINS = [\r\n 'duo.com',\r\n 'duosecurity.com',\r\n 'duomobile.s3-us-west-1.amazonaws.com'\r\n ];\r\n var iframeId = 'duo_iframe', postAction = '', postArgument = 'sig_response', host, sigRequest, duoSig, appSig, iframe, submitCallback;\r\n function throwError(message, url) {\r\n throw new Error('Duo Web SDK error: ' + message +\r\n (url ? ('\\n' + 'See ' + url + ' for more information') : ''));\r\n }\r\n function hyphenize(str) {\r\n return str.replace(/([a-z])([A-Z])/, '$1-$2').toLowerCase();\r\n }\r\n // cross-browser data attributes\r\n function getDataAttribute(element, name) {\r\n if ('dataset' in element) {\r\n return element.dataset[name];\r\n }\r\n else {\r\n return element.getAttribute('data-' + hyphenize(name));\r\n }\r\n }\r\n // cross-browser event binding/unbinding\r\n function on(context, event, fallbackEvent, callback) {\r\n if ('addEventListener' in window) {\r\n context.addEventListener(event, callback, false);\r\n }\r\n else {\r\n context.attachEvent(fallbackEvent, callback);\r\n }\r\n }\r\n function off(context, event, fallbackEvent, callback) {\r\n if ('removeEventListener' in window) {\r\n context.removeEventListener(event, callback, false);\r\n }\r\n else {\r\n context.detachEvent(fallbackEvent, callback);\r\n }\r\n }\r\n function onReady(callback) {\r\n on(document, 'DOMContentLoaded', 'onreadystatechange', callback);\r\n }\r\n function offReady(callback) {\r\n off(document, 'DOMContentLoaded', 'onreadystatechange', callback);\r\n }\r\n function onMessage(callback) {\r\n on(window, 'message', 'onmessage', callback);\r\n }\r\n function offMessage(callback) {\r\n off(window, 'message', 'onmessage', callback);\r\n }\r\n /**\r\n * Parse the sig_request parameter, throwing errors if the token contains\r\n * a server error or if the token is invalid.\r\n *\r\n * @param {String} sig Request token\r\n */\r\n function parseSigRequest(sig) {\r\n if (!sig) {\r\n // nothing to do\r\n return;\r\n }\r\n // see if the token contains an error, throwing it if it does\r\n if (sig.indexOf('ERR|') === 0) {\r\n throwError(sig.split('|')[1]);\r\n }\r\n // validate the token\r\n if (sig.indexOf(':') === -1 || sig.split(':').length !== 2) {\r\n throwError('Duo was given a bad token. This might indicate a configuration ' +\r\n 'problem with one of Duo\\'s client libraries.', 'https://www.duosecurity.com/docs/duoweb#first-steps');\r\n }\r\n var sigParts = sig.split(':');\r\n // hang on to the token, and the parsed duo and app sigs\r\n sigRequest = sig;\r\n duoSig = sigParts[0];\r\n appSig = sigParts[1];\r\n return {\r\n sigRequest: sig,\r\n duoSig: sigParts[0],\r\n appSig: sigParts[1]\r\n };\r\n }\r\n /**\r\n * This function is set up to run when the DOM is ready, if the iframe was\r\n * not available during `init`.\r\n */\r\n function onDOMReady() {\r\n iframe = document.getElementById(iframeId);\r\n if (!iframe) {\r\n throw new Error('This page does not contain an iframe for Duo to use.' +\r\n 'Add an element like ' +\r\n 'to this page. ' +\r\n 'See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe ' +\r\n 'for more information.');\r\n }\r\n // we've got an iframe, away we go!\r\n ready();\r\n // always clean up after yourself\r\n offReady(onDOMReady);\r\n }\r\n /**\r\n * Validate that a MessageEvent came from the Duo service, and that it\r\n * is a properly formatted payload.\r\n *\r\n * The Google Chrome sign-in page injects some JS into pages that also\r\n * make use of postMessage, so we need to do additional validation above\r\n * and beyond the origin.\r\n *\r\n * @param {MessageEvent} event Message received via postMessage\r\n */\r\n function isDuoMessage(event) {\r\n return Boolean(event.origin === ('https://' + host) &&\r\n typeof event.data === 'string' &&\r\n (event.data.match(DUO_MESSAGE_FORMAT) ||\r\n event.data.match(DUO_ERROR_FORMAT) ||\r\n event.data.match(DUO_OPEN_WINDOW_FORMAT)));\r\n }\r\n /**\r\n * Validate the request token and prepare for the iframe to become ready.\r\n *\r\n * All options below can be passed into an options hash to `Duo.init`, or\r\n * specified on the iframe using `data-` attributes.\r\n *\r\n * Options specified using the options hash will take precedence over\r\n * `data-` attributes.\r\n *\r\n * Example using options hash:\r\n * ```javascript\r\n * Duo.init({\r\n * iframe: \"some_other_id\",\r\n * host: \"api-main.duo.test\",\r\n * sig_request: \"...\",\r\n * post_action: \"/auth\",\r\n * post_argument: \"resp\"\r\n * });\r\n * ```\r\n *\r\n * Example using `data-` attributes:\r\n * ```\r\n * \r\n * ```\r\n *\r\n * @param {Object} options\r\n * @param {String} options.iframe The iframe, or id of an iframe to set up\r\n * @param {String} options.host Hostname\r\n * @param {String} options.sig_request Request token\r\n * @param {String} [options.post_action=''] URL to POST back to after successful auth\r\n * @param {String} [options.post_argument='sig_response'] Parameter name to use for response token\r\n * @param {Function} [options.submit_callback] If provided, duo will not submit the form instead execute\r\n * the callback function with reference to the \"duo_form\" form object\r\n * submit_callback can be used to prevent the webpage from reloading.\r\n */\r\n function init(options) {\r\n if (options) {\r\n if (options.host) {\r\n host = options.host;\r\n }\r\n if (options.sig_request) {\r\n parseSigRequest(options.sig_request);\r\n }\r\n if (options.post_action) {\r\n postAction = options.post_action;\r\n }\r\n if (options.post_argument) {\r\n postArgument = options.post_argument;\r\n }\r\n if (options.iframe) {\r\n if (options.iframe.tagName) {\r\n iframe = options.iframe;\r\n }\r\n else if (typeof options.iframe === 'string') {\r\n iframeId = options.iframe;\r\n }\r\n }\r\n if (typeof options.submit_callback === 'function') {\r\n submitCallback = options.submit_callback;\r\n }\r\n }\r\n // if we were given an iframe, no need to wait for the rest of the DOM\r\n if (false && iframe) {\r\n ready();\r\n }\r\n else {\r\n // try to find the iframe in the DOM\r\n iframe = document.getElementById(iframeId);\r\n // iframe is in the DOM, away we go!\r\n if (iframe) {\r\n ready();\r\n }\r\n else {\r\n // wait until the DOM is ready, then try again\r\n onReady(onDOMReady);\r\n }\r\n }\r\n // always clean up after yourself!\r\n offReady(init);\r\n }\r\n /**\r\n * This function is called when a message was received from another domain\r\n * using the `postMessage` API. Check that the event came from the Duo\r\n * service domain, and that the message is a properly formatted payload,\r\n * then perform the post back to the primary service.\r\n *\r\n * @param event Event object (contains origin and data)\r\n */\r\n function onReceivedMessage(event) {\r\n if (isDuoMessage(event)) {\r\n if (event.data.match(DUO_OPEN_WINDOW_FORMAT)) {\r\n var url = event.data.substring(\"DUO_OPEN_WINDOW|\".length);\r\n if (isValidUrlToOpen(url)) {\r\n // Open the URL that comes after the DUO_WINDOW_OPEN token.\r\n window.open(url, \"_self\");\r\n }\r\n }\r\n else {\r\n // the event came from duo, do the post back\r\n doPostBack(event.data);\r\n // always clean up after yourself!\r\n offMessage(onReceivedMessage);\r\n }\r\n }\r\n }\r\n /**\r\n * Validate that this passed in URL is one that we will actually allow to\r\n * be opened.\r\n * @param url String URL that the message poster wants to open\r\n * @returns {boolean} true if we allow this url to be opened in the window\r\n */\r\n function isValidUrlToOpen(url) {\r\n if (!url) {\r\n return false;\r\n }\r\n var parser = document.createElement('a');\r\n parser.href = url;\r\n if (parser.protocol === \"duotrustedendpoints:\") {\r\n return true;\r\n }\r\n else if (parser.protocol !== \"https:\") {\r\n return false;\r\n }\r\n for (var i = 0; i < VALID_OPEN_WINDOW_DOMAINS.length; i++) {\r\n if (parser.hostname.endsWith(\".\" + VALID_OPEN_WINDOW_DOMAINS[i]) ||\r\n parser.hostname === VALID_OPEN_WINDOW_DOMAINS[i]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n /**\r\n * Point the iframe at Duo, then wait for it to postMessage back to us.\r\n */\r\n function ready() {\r\n if (!host) {\r\n host = getDataAttribute(iframe, 'host');\r\n if (!host) {\r\n throwError('No API hostname is given for Duo to use. Be sure to pass ' +\r\n 'a `host` parameter to Duo.init, or through the `data-host` ' +\r\n 'attribute on the iframe element.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\r\n }\r\n }\r\n if (!duoSig || !appSig) {\r\n parseSigRequest(getDataAttribute(iframe, 'sigRequest'));\r\n if (!duoSig || !appSig) {\r\n throwError('No valid signed request is given. Be sure to give the ' +\r\n '`sig_request` parameter to Duo.init, or use the ' +\r\n '`data-sig-request` attribute on the iframe element.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\r\n }\r\n }\r\n // if postAction/Argument are defaults, see if they are specified\r\n // as data attributes on the iframe\r\n if (postAction === '') {\r\n postAction = getDataAttribute(iframe, 'postAction') || postAction;\r\n }\r\n if (postArgument === 'sig_response') {\r\n postArgument = getDataAttribute(iframe, 'postArgument') || postArgument;\r\n }\r\n // point the iframe at Duo\r\n iframe.src = [\r\n 'https://', host, '/frame/web/v1/auth?tx=', duoSig,\r\n '&parent=', encodeURIComponent(document.location.href),\r\n '&v=2.6'\r\n ].join('');\r\n // listen for the 'message' event\r\n onMessage(onReceivedMessage);\r\n }\r\n /**\r\n * We received a postMessage from Duo. POST back to the primary service\r\n * with the response token, and any additional user-supplied parameters\r\n * given in form#duo_form.\r\n */\r\n function doPostBack(response) {\r\n // create a hidden input to contain the response token\r\n var input = document.createElement('input');\r\n input.type = 'hidden';\r\n input.name = postArgument;\r\n input.value = response + ':' + appSig;\r\n // user may supply their own form with additional inputs\r\n var form = document.getElementById('duo_form');\r\n // if the form doesn't exist, create one\r\n if (!form) {\r\n form = document.createElement('form');\r\n // insert the new form after the iframe\r\n iframe.parentElement.insertBefore(form, iframe.nextSibling);\r\n }\r\n // make sure we are actually posting to the right place\r\n form.method = 'POST';\r\n form.action = postAction;\r\n // add the response token input to the form\r\n form.appendChild(input);\r\n // away we go!\r\n if (typeof submitCallback === \"function\") {\r\n submitCallback.call(null, form);\r\n }\r\n else {\r\n form.submit();\r\n }\r\n }\r\n return {\r\n init: init,\r\n _onReady: onReady,\r\n _parseSigRequest: parseSigRequest,\r\n _isDuoMessage: isDuoMessage,\r\n _doPostBack: doPostBack\r\n };\r\n}));\r\n//# sourceMappingURL=duo.js.map","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { TwoFactorOptionsComponent } from './two-factor-options.component';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { TwoFactorComponent as BaseTwoFactorComponent } from 'jslib/angular/components/two-factor.component';\n\n@Component({\n selector: 'app-two-factor',\n templateUrl: 'two-factor.component.html',\n})\nexport class TwoFactorComponent extends BaseTwoFactorComponent {\n @ViewChild('twoFactorOptions', { read: ViewContainerRef }) twoFactorOptionsModal: ViewContainerRef;\n\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, apiService: ApiService,\n platformUtilsService: PlatformUtilsService, private stateService: StateService,\n environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(authService, router, analytics, toasterService, i18nService, apiService,\n platformUtilsService, window, environmentService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n anotherMethod() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n const modal = this.twoFactorOptionsModal.createComponent(factory).instance;\n const childComponent = modal.show(TwoFactorOptionsComponent,\n this.twoFactorOptionsModal);\n\n childComponent.onProviderSelected.subscribe(async (provider: TwoFactorProviderType) => {\n modal.close();\n this.selectedProviderType = provider;\n await this.init();\n });\n childComponent.onRecoverSelected.subscribe(() => {\n modal.close();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/login.component';\n\n@Component({\n selector: 'app-login',\n templateUrl: 'login.component.html',\n})\nexport class LoginComponent extends BaseLoginComponent {\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, private route: ActivatedRoute,\n storageService: StorageService, private stateService: StateService) {\n super(authService, router, analytics, toasterService, i18nService, storageService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n async ngOnInit() {\n this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n await super.ngOnInit();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import {\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\n@Component({\r\n selector: 'app-frontend-layout',\r\n templateUrl: 'frontend-layout.component.html',\r\n})\r\nexport class FrontendLayoutComponent implements OnInit, OnDestroy {\r\n version: string;\r\n\r\n constructor(private platformUtilsService: PlatformUtilsService) { }\r\n\r\n ngOnInit() {\r\n this.version = this.platformUtilsService.getApplicationVersion();\r\n document.body.classList.add('layout_frontend');\r\n }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","export abstract class SettingsService {\r\n clearCache: () => void;\r\n getEquivalentDomains: () => Promise;\r\n setEquivalentDomains: (equivalentDomains: string[][]) => Promise;\r\n clear: (userId: string) => Promise;\r\n}\r\n","export abstract class LockService {\r\n checkLock: () => Promise;\r\n lock: () => Promise;\r\n setLockOption: (lockOption: number) => Promise;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Injectable()\r\nexport class UnauthGuardService implements CanActivate {\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async canActivate() {\r\n const isAuthed = await this.userService.isAuthenticated();\r\n if (isAuthed) {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n this.router.navigate(['lock']);\r\n } else {\r\n this.router.navigate(['vault']);\r\n }\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Injectable()\r\nexport class OrganizationTypeGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.parent.params.organizationId);\r\n const allowedTypes = route.data == null ? null : route.data.allowedTypes as OrganizationUserType[];\r\n if (allowedTypes == null || allowedTypes.indexOf(org.type) === -1) {\r\n this.router.navigate(['/organizations', org.id]);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Injectable()\r\nexport class OrganizationGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.params.organizationId);\r\n if (org == null) {\r\n this.router.navigate(['/']);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { UserService } from '../../abstractions/user.service';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n constructor(private cryptoService: CryptoService, private userService: UserService, private router: Router,\n private messagingService: MessagingService) { }\n\n async canActivate() {\n const isAuthed = await this.userService.isAuthenticated();\n if (!isAuthed) {\n this.messagingService.send('logout');\n return false;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n this.router.navigate(['lock']);\n return false;\n }\n\n return true;\n }\n}\n","import { StorageService } from '../abstractions/storage.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService as UserServiceAbstraction } from '../abstractions/user.service';\n\nimport { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nconst Keys = {\n userId: 'userId',\n userEmail: 'userEmail',\n stamp: 'securityStamp',\n organizationsPrefix: 'organizations_',\n};\n\nexport class UserService implements UserServiceAbstraction {\n userId: string;\n email: string;\n stamp: string;\n\n constructor(private tokenService: TokenService, private storageService: StorageService) {\n }\n\n setUserIdAndEmail(userId: string, email: string): Promise {\n this.email = email;\n this.userId = userId;\n\n return Promise.all([\n this.storageService.save(Keys.userEmail, email),\n this.storageService.save(Keys.userId, userId),\n ]);\n }\n\n setSecurityStamp(stamp: string): Promise {\n this.stamp = stamp;\n return this.storageService.save(Keys.stamp, stamp);\n }\n\n async getUserId(): Promise {\n if (this.userId != null) {\n return this.userId;\n }\n\n this.userId = await this.storageService.get(Keys.userId);\n return this.userId;\n }\n\n async getEmail(): Promise {\n if (this.email != null) {\n return this.email;\n }\n\n this.email = await this.storageService.get(Keys.userEmail);\n return this.email;\n }\n\n async getSecurityStamp(): Promise {\n if (this.stamp != null) {\n return this.stamp;\n }\n\n this.stamp = await this.storageService.get(Keys.stamp);\n return this.stamp;\n }\n\n async clear(): Promise {\n const userId = await this.getUserId();\n\n await Promise.all([\n this.storageService.remove(Keys.userId),\n this.storageService.remove(Keys.userEmail),\n this.storageService.remove(Keys.stamp),\n this.clearOrganizations(userId),\n ]);\n\n this.userId = this.email = this.stamp = null;\n }\n\n async isAuthenticated(): Promise {\n const token = await this.tokenService.getToken();\n if (token == null) {\n return false;\n }\n\n const userId = await this.getUserId();\n return userId != null;\n }\n\n async getOrganization(id: string): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n if (organizations == null || !organizations.hasOwnProperty(id)) {\n return null;\n }\n\n return new Organization(organizations[id]);\n }\n\n async getAllOrganizations(): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n const response: Organization[] = [];\n for (const id in organizations) {\n if (organizations.hasOwnProperty(id)) {\n response.push(new Organization(organizations[id]));\n }\n }\n return response;\n }\n\n async replaceOrganizations(organizations: { [id: string]: OrganizationData; }): Promise {\n const userId = await this.getUserId();\n await this.storageService.save(Keys.organizationsPrefix + userId, organizations);\n }\n\n async clearOrganizations(userId: string): Promise {\n await this.storageService.remove(Keys.organizationsPrefix + userId);\n }\n}\n","import { ConstantsService } from './constants.service';\r\n\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst b32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';\r\n\r\nexport class TotpService implements TotpServiceAbstraction {\r\n constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService) {}\r\n\r\n async getCode(keyb32: string): Promise {\r\n const epoch = Math.round(new Date().getTime() / 1000.0);\r\n const timeHex = this.leftpad(this.dec2hex(Math.floor(epoch / 30)), 16, '0');\r\n const timeBytes = Utils.fromHexToArray(timeHex);\r\n const keyBytes = this.b32tobytes(keyb32);\r\n\r\n if (!keyBytes.length || !timeBytes.length) {\r\n return null;\r\n }\r\n\r\n const hashHex = await this.sign(keyBytes, timeBytes);\r\n if (!hashHex) {\r\n return null;\r\n }\r\n\r\n const offset = this.hex2dec(hashHex.substring(hashHex.length - 1));\r\n // tslint:disable-next-line\r\n let otp = (this.hex2dec(hashHex.substr(offset * 2, 8)) & this.hex2dec('7fffffff')) + '';\r\n otp = (otp).substr(otp.length - 6, 6);\r\n return otp;\r\n }\r\n\r\n async isAutoCopyEnabled(): Promise {\r\n return !(await this.storageService.get(ConstantsService.disableAutoTotpCopyKey));\r\n }\r\n\r\n // Helpers\r\n\r\n private leftpad(s: string, l: number, p: string): string {\r\n if (l + 1 >= s.length) {\r\n s = Array(l + 1 - s.length).join(p) + s;\r\n }\r\n return s;\r\n }\r\n\r\n private dec2hex(d: number): string {\r\n return (d < 15.5 ? '0' : '') + Math.round(d).toString(16);\r\n }\r\n\r\n private hex2dec(s: string): number {\r\n return parseInt(s, 16);\r\n }\r\n\r\n private b32tohex(s: string): string {\r\n s = s.toUpperCase();\r\n let cleanedInput = '';\r\n\r\n for (let i = 0; i < s.length; i++) {\r\n if (b32Chars.indexOf(s[i]) < 0) {\r\n continue;\r\n }\r\n\r\n cleanedInput += s[i];\r\n }\r\n s = cleanedInput;\r\n\r\n let bits = '';\r\n let hex = '';\r\n for (let i = 0; i < s.length; i++) {\r\n const byteIndex = b32Chars.indexOf(s.charAt(i));\r\n if (byteIndex < 0) {\r\n continue;\r\n }\r\n bits += this.leftpad(byteIndex.toString(2), 5, '0');\r\n }\r\n for (let i = 0; i + 4 <= bits.length; i += 4) {\r\n const chunk = bits.substr(i, 4);\r\n hex = hex + parseInt(chunk, 2).toString(16);\r\n }\r\n return hex;\r\n }\r\n\r\n private b32tobytes(s: string): Uint8Array {\r\n return Utils.fromHexToArray(this.b32tohex(s));\r\n }\r\n\r\n private async sign(keyBytes: Uint8Array, timeBytes: Uint8Array) {\r\n const signature = await this.cryptoFunctionService.hmac(timeBytes.buffer, keyBytes.buffer, 'sha1');\r\n return Utils.fromBufferToHex(signature);\r\n }\r\n}\r\n","import { ConstantsService } from './constants.service';\n\nimport { StorageService } from '../abstractions/storage.service';\nimport { TokenService as TokenServiceAbstraction } from '../abstractions/token.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n accessToken: 'accessToken',\n refreshToken: 'refreshToken',\n twoFactorTokenPrefix: 'twoFactorToken_',\n};\n\nexport class TokenService implements TokenServiceAbstraction {\n token: string;\n decodedToken: any;\n refreshToken: string;\n\n constructor(private storageService: StorageService) {\n }\n\n setTokens(accessToken: string, refreshToken: string): Promise {\n return Promise.all([\n this.setToken(accessToken),\n this.setRefreshToken(refreshToken),\n ]);\n }\n\n setToken(token: string): Promise {\n this.token = token;\n this.decodedToken = null;\n return this.storageService.save(Keys.accessToken, token);\n }\n\n async getToken(): Promise {\n if (this.token != null) {\n return this.token;\n }\n\n this.token = await this.storageService.get(Keys.accessToken);\n return this.token;\n }\n\n setRefreshToken(refreshToken: string): Promise {\n this.refreshToken = refreshToken;\n return this.storageService.save(Keys.refreshToken, refreshToken);\n }\n\n async getRefreshToken(): Promise {\n if (this.refreshToken != null) {\n return this.refreshToken;\n }\n\n this.refreshToken = await this.storageService.get(Keys.refreshToken);\n return this.refreshToken;\n }\n\n setTwoFactorToken(token: string, email: string): Promise {\n return this.storageService.save(Keys.twoFactorTokenPrefix + email, token);\n }\n\n getTwoFactorToken(email: string): Promise {\n return this.storageService.get(Keys.twoFactorTokenPrefix + email);\n }\n\n clearTwoFactorToken(email: string): Promise {\n return this.storageService.remove(Keys.twoFactorTokenPrefix + email);\n }\n\n clearToken(): Promise {\n this.token = null;\n this.decodedToken = null;\n this.refreshToken = null;\n\n return Promise.all([\n this.storageService.remove(Keys.accessToken),\n this.storageService.remove(Keys.refreshToken),\n ]);\n }\n\n // jwthelper methods\n // ref https://github.com/auth0/angular-jwt/blob/master/src/angularJwt/services/jwt.js\n\n decodeToken(): any {\n if (this.decodedToken) {\n return this.decodedToken;\n }\n\n if (this.token == null) {\n throw new Error('Token not found.');\n }\n\n const parts = this.token.split('.');\n if (parts.length !== 3) {\n throw new Error('JWT must have 3 parts');\n }\n\n const decoded = Utils.fromUrlB64ToUtf8(parts[1]);\n if (decoded == null) {\n throw new Error('Cannot decode the token');\n }\n\n this.decodedToken = JSON.parse(decoded);\n return this.decodedToken;\n }\n\n getTokenExpirationDate(): Date {\n const decoded = this.decodeToken();\n if (typeof decoded.exp === 'undefined') {\n return null;\n }\n\n const d = new Date(0); // The 0 here is the key, which sets the date to the epoch\n d.setUTCSeconds(decoded.exp);\n return d;\n }\n\n tokenSecondsRemaining(offsetSeconds: number = 0): number {\n const d = this.getTokenExpirationDate();\n if (d == null) {\n return 0;\n }\n\n const msRemaining = d.valueOf() - (new Date().valueOf() + (offsetSeconds * 1000));\n return Math.round(msRemaining / 1000);\n }\n\n tokenNeedsRefresh(minutes: number = 5): boolean {\n const sRemaining = this.tokenSecondsRemaining();\n return sRemaining < (60 * minutes);\n }\n\n getUserId(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.sub === 'undefined') {\n throw new Error('No user id found');\n }\n\n return decoded.sub as string;\n }\n\n getEmail(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.email === 'undefined') {\n throw new Error('No email found');\n }\n\n return decoded.email as string;\n }\n\n getEmailVerified(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.email_verified === 'undefined') {\n throw new Error('No email verification found');\n }\n\n return decoded.email_verified as boolean;\n }\n\n getName(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.name === 'undefined') {\n return null;\n }\n\n return decoded.name as string;\n }\n\n getPremium(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.premium === 'undefined') {\n return false;\n }\n\n return decoded.premium as boolean;\n }\n\n getIssuer(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.iss === 'undefined') {\n throw new Error('No issuer found');\n }\n\n return decoded.iss as string;\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from '../abstractions/sync.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { FolderData } from '../models/data/folderData';\nimport { OrganizationData } from '../models/data/organizationData';\n\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\n\nconst Keys = {\n lastSyncPrefix: 'lastSync_',\n};\n\nexport class SyncService implements SyncServiceAbstraction {\n syncInProgress: boolean = false;\n\n constructor(private userService: UserService, private apiService: ApiService,\n private settingsService: SettingsService, private folderService: FolderService,\n private cipherService: CipherService, private cryptoService: CryptoService,\n private collectionService: CollectionService, private storageService: StorageService,\n private messagingService: MessagingService, private logoutCallback: (expired: boolean) => Promise) {\n }\n\n async getLastSync(): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return null;\n }\n\n const lastSync = await this.storageService.get(Keys.lastSyncPrefix + userId);\n if (lastSync) {\n return new Date(lastSync);\n }\n\n return null;\n }\n\n async setLastSync(date: Date): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return;\n }\n\n await this.storageService.save(Keys.lastSyncPrefix + userId, date.toJSON());\n }\n\n syncStarted() {\n this.syncInProgress = true;\n this.messagingService.send('syncStarted');\n }\n\n syncCompleted(successfully: boolean) {\n this.syncInProgress = false;\n this.messagingService.send('syncCompleted', { successfully: successfully });\n }\n\n async fullSync(forceSync: boolean): Promise {\n this.syncStarted();\n const isAuthenticated = await this.userService.isAuthenticated();\n if (!isAuthenticated) {\n this.syncCompleted(false);\n return false;\n }\n\n const now = new Date();\n const needsSyncResult = await this.needsSyncing(forceSync);\n const needsSync = needsSyncResult[0];\n const skipped = needsSyncResult[1];\n\n if (skipped) {\n this.syncCompleted(false);\n return false;\n }\n\n if (!needsSync) {\n await this.setLastSync(now);\n this.syncCompleted(false);\n return false;\n }\n\n const userId = await this.userService.getUserId();\n try {\n const response = await this.apiService.getSync();\n\n await this.syncProfile(response.profile);\n await this.syncFolders(userId, response.folders);\n await this.syncCollections(response.collections);\n await this.syncCiphers(userId, response.ciphers);\n await this.syncSettings(userId, response.domains);\n\n await this.setLastSync(now);\n this.syncCompleted(true);\n return true;\n } catch (e) {\n this.syncCompleted(false);\n return false;\n }\n }\n\n // Helpers\n\n private async needsSyncing(forceSync: boolean) {\n if (forceSync) {\n return [true, false];\n }\n\n try {\n const response = await this.apiService.getAccountRevisionDate();\n const accountRevisionDate = new Date(response);\n const lastSync = await this.getLastSync();\n if (lastSync != null && accountRevisionDate <= lastSync) {\n return [false, false];\n }\n\n return [true, false];\n } catch (e) {\n return [false, true];\n }\n }\n\n private async syncProfile(response: ProfileResponse) {\n const stamp = await this.userService.getSecurityStamp();\n if (stamp != null && stamp !== response.securityStamp) {\n if (this.logoutCallback != null) {\n await this.logoutCallback(true);\n }\n\n throw new Error('Stamp has changed');\n }\n\n await this.cryptoService.setEncKey(response.key);\n await this.cryptoService.setEncPrivateKey(response.privateKey);\n await this.cryptoService.setOrgKeys(response.organizations);\n await this.userService.setSecurityStamp(response.securityStamp);\n await this.userService.setSecurityStamp(response.securityStamp);\n\n const organizations: { [id: string]: OrganizationData; } = {};\n response.organizations.forEach((o) => {\n organizations[o.id] = new OrganizationData(o);\n });\n return await this.userService.replaceOrganizations(organizations);\n }\n\n private async syncFolders(userId: string, response: FolderResponse[]) {\n const folders: { [id: string]: FolderData; } = {};\n response.forEach((f) => {\n folders[f.id] = new FolderData(f, userId);\n });\n return await this.folderService.replace(folders);\n }\n\n private async syncCollections(response: CollectionDetailsResponse[]) {\n const collections: { [id: string]: CollectionData; } = {};\n response.forEach((c) => {\n collections[c.id] = new CollectionData(c);\n });\n return await this.collectionService.replace(collections);\n }\n\n private async syncCiphers(userId: string, response: CipherResponse[]) {\n const ciphers: { [id: string]: CipherData; } = {};\n response.forEach((c) => {\n ciphers[c.id] = new CipherData(c, userId);\n });\n return await this.cipherService.replace(ciphers);\n }\n\n private async syncSettings(userId: string, response: DomainsResponse) {\n let eqDomains: string[][] = [];\n if (response != null && response.equivalentDomains != null) {\n eqDomains = eqDomains.concat(response.equivalentDomains);\n }\n\n if (response != null && response.globalEquivalentDomains != null) {\n response.globalEquivalentDomains.forEach((global) => {\n if (global.domains.length > 0) {\n eqDomains.push(global.domains);\n }\n });\n }\n\n return this.settingsService.setEquivalentDomains(eqDomains);\n }\n}\n","import { StateService as StateServiceAbstraction } from '../abstractions/state.service';\r\n\r\nexport class StateService implements StateServiceAbstraction {\r\n private state: any = {};\r\n\r\n get(key: string): Promise {\r\n if (this.state.hasOwnProperty(key)) {\r\n return Promise.resolve(this.state[key]);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n this.state[key] = obj;\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n delete this.state[key];\r\n return Promise.resolve();\r\n }\r\n\r\n purge(): Promise {\r\n this.state = {};\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { SettingsService as SettingsServiceAbstraction } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nconst Keys = {\r\n settingsPrefix: 'settings_',\r\n equivalentDomains: 'equivalentDomains',\r\n};\r\n\r\nexport class SettingsService implements SettingsServiceAbstraction {\r\n private settingsCache: any;\r\n\r\n constructor(private userService: UserService, private storageService: StorageService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.settingsCache = null;\r\n }\r\n\r\n getEquivalentDomains(): Promise {\r\n return this.getSettingsKey(Keys.equivalentDomains);\r\n }\r\n\r\n async setEquivalentDomains(equivalentDomains: string[][]): Promise {\r\n await this.setSettingsKey(Keys.equivalentDomains, equivalentDomains);\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.settingsPrefix + userId);\r\n this.settingsCache = null;\r\n }\r\n\r\n // Helpers\r\n\r\n private async getSettings(): Promise {\r\n if (this.settingsCache == null) {\r\n const userId = await this.userService.getUserId();\r\n this.settingsCache = this.storageService.get(Keys.settingsPrefix + userId);\r\n }\r\n return this.settingsCache;\r\n }\r\n\r\n private async getSettingsKey(key: string): Promise {\r\n const settings = await this.getSettings();\r\n if (settings != null && settings[key]) {\r\n return settings[key];\r\n }\r\n return null;\r\n }\r\n\r\n private async setSettingsKey(key: string, value: any): Promise {\r\n const userId = await this.userService.getUserId();\r\n let settings = await this.getSettings();\r\n if (!settings) {\r\n settings = {};\r\n }\r\n\r\n settings[key] = value;\r\n await this.storageService.save(Keys.settingsPrefix + userId, settings);\r\n this.settingsCache = settings;\r\n }\r\n}\r\n","import { CipherString } from '../models/domain/cipherString';\nimport { PasswordHistory } from '../models/domain/passwordHistory';\n\nimport { CryptoService } from '../abstractions/crypto.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from '../abstractions/passwordGeneration.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nconst DefaultOptions = {\n length: 14,\n ambiguous: false,\n number: true,\n minNumber: 1,\n uppercase: true,\n minUppercase: 0,\n lowercase: true,\n minLowercase: 0,\n special: false,\n minSpecial: 1,\n};\n\nconst Keys = {\n options: 'passwordGenerationOptions',\n history: 'generatedPasswordHistory',\n};\n\nconst MaxPasswordsInHistory = 100;\n\nexport class PasswordGenerationService implements PasswordGenerationServiceAbstraction {\n private optionsCache: any;\n private history: PasswordHistory[];\n\n constructor(private cryptoService: CryptoService, private storageService: StorageService) { }\n\n async generatePassword(options: any): Promise {\n // overload defaults with given options\n const o = Object.assign({}, DefaultOptions, options);\n\n // sanitize\n if (o.uppercase && o.minUppercase <= 0) {\n o.minUppercase = 1;\n }\n if (o.lowercase && o.minLowercase <= 0) {\n o.minLowercase = 1;\n }\n if (o.number && o.minNumber <= 0) {\n o.minNumber = 1;\n }\n if (o.special && o.minSpecial <= 0) {\n o.minSpecial = 1;\n }\n\n if (!o.length || o.length < 1) {\n o.length = 10;\n }\n\n const minLength: number = o.minUppercase + o.minLowercase + o.minNumber + o.minSpecial;\n if (o.length < minLength) {\n o.length = minLength;\n }\n\n const positions: string[] = [];\n if (o.lowercase && o.minLowercase > 0) {\n for (let i = 0; i < o.minLowercase; i++) {\n positions.push('l');\n }\n }\n if (o.uppercase && o.minUppercase > 0) {\n for (let i = 0; i < o.minUppercase; i++) {\n positions.push('u');\n }\n }\n if (o.number && o.minNumber > 0) {\n for (let i = 0; i < o.minNumber; i++) {\n positions.push('n');\n }\n }\n if (o.special && o.minSpecial > 0) {\n for (let i = 0; i < o.minSpecial; i++) {\n positions.push('s');\n }\n }\n while (positions.length < o.length) {\n positions.push('a');\n }\n\n // shuffle\n await this.shuffleArray(positions);\n\n // build out the char sets\n let allCharSet = '';\n\n let lowercaseCharSet = 'abcdefghijkmnopqrstuvwxyz';\n if (o.ambiguous) {\n lowercaseCharSet += 'l';\n }\n if (o.lowercase) {\n allCharSet += lowercaseCharSet;\n }\n\n let uppercaseCharSet = 'ABCDEFGHIJKLMNPQRSTUVWXYZ';\n if (o.ambiguous) {\n uppercaseCharSet += 'O';\n }\n if (o.uppercase) {\n allCharSet += uppercaseCharSet;\n }\n\n let numberCharSet = '23456789';\n if (o.ambiguous) {\n numberCharSet += '01';\n }\n if (o.number) {\n allCharSet += numberCharSet;\n }\n\n const specialCharSet = '!@#$%^&*';\n if (o.special) {\n allCharSet += specialCharSet;\n }\n\n let password = '';\n for (let i = 0; i < o.length; i++) {\n let positionChars: string;\n switch (positions[i]) {\n case 'l':\n positionChars = lowercaseCharSet;\n break;\n case 'u':\n positionChars = uppercaseCharSet;\n break;\n case 'n':\n positionChars = numberCharSet;\n break;\n case 's':\n positionChars = specialCharSet;\n break;\n case 'a':\n positionChars = allCharSet;\n break;\n default:\n break;\n }\n\n const randomCharIndex = await this.cryptoService.randomNumber(0, positionChars.length - 1);\n password += positionChars.charAt(randomCharIndex);\n }\n\n return password;\n }\n\n async getOptions() {\n if (this.optionsCache == null) {\n const options = await this.storageService.get(Keys.options);\n if (options == null) {\n this.optionsCache = DefaultOptions;\n } else {\n this.optionsCache = options;\n }\n }\n\n return this.optionsCache;\n }\n\n async saveOptions(options: any) {\n await this.storageService.save(Keys.options, options);\n this.optionsCache = options;\n }\n\n async getHistory(): Promise {\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n return new Array();\n }\n\n if (!this.history) {\n const encrypted = await this.storageService.get(Keys.history);\n this.history = await this.decryptHistory(encrypted);\n }\n\n return this.history || new Array();\n }\n\n async addHistory(password: string): Promise {\n // Cannot add new history if no key is available\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n return;\n }\n\n const currentHistory = await this.getHistory();\n\n // Prevent duplicates\n if (this.matchesPrevious(password, currentHistory)) {\n return;\n }\n\n currentHistory.unshift(new PasswordHistory(password, Date.now()));\n\n // Remove old items.\n if (currentHistory.length > MaxPasswordsInHistory) {\n currentHistory.pop();\n }\n\n const newHistory = await this.encryptHistory(currentHistory);\n return await this.storageService.save(Keys.history, newHistory);\n }\n\n async clear(): Promise {\n this.history = [];\n return await this.storageService.remove(Keys.history);\n }\n\n private async encryptHistory(history: PasswordHistory[]): Promise {\n if (history == null || history.length === 0) {\n return Promise.resolve([]);\n }\n\n const promises = history.map(async (item) => {\n const encrypted = await this.cryptoService.encrypt(item.password);\n return new PasswordHistory(encrypted.encryptedString, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private async decryptHistory(history: PasswordHistory[]): Promise {\n if (history == null || history.length === 0) {\n return Promise.resolve([]);\n }\n\n const promises = history.map(async (item) => {\n const decrypted = await this.cryptoService.decryptToUtf8(new CipherString(item.password));\n return new PasswordHistory(decrypted, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private matchesPrevious(password: string, history: PasswordHistory[]): boolean {\n if (history == null || history.length === 0) {\n return false;\n }\n\n return history[history.length - 1].password === password;\n }\n\n // ref: https://stackoverflow.com/a/12646864/1090359\n private async shuffleArray(array: string[]) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = await this.cryptoService.randomNumber(0, i);\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { LockService as LockServiceAbstraction } from '../abstractions/lock.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class LockService implements LockServiceAbstraction {\n private inited = false;\n\n constructor(private cipherService: CipherService, private folderService: FolderService,\n private collectionService: CollectionService, private cryptoService: CryptoService,\n private platformUtilsService: PlatformUtilsService, private storageService: StorageService,\n private messagingService: MessagingService, private lockedCallback: () => Promise) {\n }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.checkLock();\n setInterval(() => this.checkLock(), 10 * 1000); // check every 10 seconds\n }\n }\n\n async checkLock(): Promise {\n if (this.platformUtilsService.isViewOpen()) {\n // Do not lock\n return;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n // no key so no need to lock\n return;\n }\n\n let lockOption = this.platformUtilsService.lockTimeout();\n if (lockOption == null) {\n lockOption = await this.storageService.get(ConstantsService.lockOptionKey);\n }\n if (lockOption == null || lockOption < 0) {\n return;\n }\n\n const lastActive = await this.storageService.get(ConstantsService.lastActiveKey);\n if (lastActive == null) {\n return;\n }\n\n const lockOptionSeconds = lockOption * 60;\n const diffSeconds = ((new Date()).getTime() - lastActive) / 1000;\n if (diffSeconds >= lockOptionSeconds) {\n // need to lock now\n await this.lock();\n }\n }\n\n async lock(): Promise {\n await Promise.all([\n this.cryptoService.clearKey(),\n this.cryptoService.clearOrgKeys(true),\n this.cryptoService.clearKeyPair(true),\n this.cryptoService.clearEncKey(true),\n ]);\n\n this.folderService.clearCache();\n this.cipherService.clearCache();\n this.collectionService.clearCache();\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n }\n\n async setLockOption(lockOption: number): Promise {\n await this.storageService.save(ConstantsService.lockOptionKey, lockOption);\n await this.cryptoService.toggleKey();\n }\n}\n","import { I18nService as I18nServiceAbstraction } from '../abstractions/i18n.service';\n\nexport class I18nService implements I18nServiceAbstraction {\n locale: string;\n // First locale is the default (English)\n supportedTranslationLocales: string[] = ['en'];\n translationLocale: string;\n collator: Intl.Collator;\n\n protected inited: boolean;\n protected defaultMessages: any = {};\n protected localeMessages: any = {};\n\n constructor(protected systemLanguage: string, protected localesDirectory: string,\n protected getLocalesJson: (formattedLocale: string) => Promise) {\n this.systemLanguage = systemLanguage.replace('_', '-');\n }\n\n async init(locale?: string) {\n if (this.inited) {\n throw new Error('i18n already initialized.');\n }\n if (this.supportedTranslationLocales == null || this.supportedTranslationLocales.length === 0) {\n throw new Error('supportedTranslationLocales not set.');\n }\n\n this.inited = true;\n this.locale = this.translationLocale = locale != null ? locale : this.systemLanguage;\n\n try {\n this.collator = new Intl.Collator(this.locale, { numeric: true, sensitivity: 'base' });\n } catch {\n this.collator = null;\n }\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.translationLocale.slice(0, 2);\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.supportedTranslationLocales[0];\n }\n }\n\n if (this.localesDirectory != null) {\n await this.loadMessages(this.translationLocale, this.localeMessages);\n if (this.translationLocale !== this.supportedTranslationLocales[0]) {\n await this.loadMessages(this.supportedTranslationLocales[0], this.defaultMessages);\n }\n }\n }\n\n t(id: string, p1?: string, p2?: string, p3?: string): string {\n return this.translate(id, p1, p2, p3);\n }\n\n translate(id: string, p1?: string, p2?: string, p3?: string): string {\n let result: string;\n if (this.localeMessages.hasOwnProperty(id) && this.localeMessages[id]) {\n result = this.localeMessages[id];\n } else if (this.defaultMessages.hasOwnProperty(id) && this.defaultMessages[id]) {\n result = this.defaultMessages[id];\n } else {\n result = '';\n }\n\n if (result !== '') {\n if (p1 != null) {\n result = result.split('__$1__').join(p1);\n }\n if (p2 != null) {\n result = result.split('__$2__').join(p2);\n }\n if (p3 != null) {\n result = result.split('__$3__').join(p3);\n }\n }\n\n return result;\n }\n\n private async loadMessages(locale: string, messagesObj: any): Promise {\n const formattedLocale = locale.replace('-', '_');\n const locales = await this.getLocalesJson(formattedLocale);\n for (const prop in locales) {\n if (!locales.hasOwnProperty(prop)) {\n continue;\n }\n messagesObj[prop] = locales[prop].message;\n\n if (locales[prop].placeholders) {\n for (const placeProp in locales[prop].placeholders) {\n if (!locales[prop].placeholders.hasOwnProperty(placeProp) ||\n !locales[prop].placeholders[placeProp].content) {\n continue;\n }\n\n const replaceToken = '\\\\$' + placeProp.toUpperCase() + '\\\\$';\n let replaceContent = locales[prop].placeholders[placeProp].content;\n if (replaceContent === '$1' || replaceContent === '$2' || replaceContent === '$3') {\n replaceContent = '__' + replaceContent + '__';\n }\n messagesObj[prop] = messagesObj[prop].replace(new RegExp(replaceToken, 'g'), replaceContent);\n }\n }\n }\n }\n\n}\n","import { FolderResponse } from '../response/folderResponse';\r\n\r\nexport class FolderData {\r\n id: string;\r\n userId: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: FolderResponse, userId: string) {\r\n this.userId = userId;\r\n this.name = response.name;\r\n this.id = response.id;\r\n this.revisionDate = response.revisionDate;\r\n }\r\n}\r\n","import { FolderData } from '../models/data/folderData';\r\n\r\nimport { Folder } from '../models/domain/folder';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\n\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n foldersPrefix: 'folders_',\r\n ciphersPrefix: 'ciphers_',\r\n};\r\n\r\nexport class FolderService implements FolderServiceAbstraction {\r\n decryptedFolderCache: FolderView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private apiService: ApiService, private storageService: StorageService,\r\n private i18nService: I18nService, private cipherService: CipherService) { }\r\n\r\n clearCache(): void {\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise {\r\n const folder = new Folder();\r\n folder.id = model.id;\r\n folder.name = await this.cryptoService.encrypt(model.name, key);\r\n return folder;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null || !folders.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Folder(folders[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n const response: Folder[] = [];\r\n for (const id in folders) {\r\n if (folders.hasOwnProperty(id)) {\r\n response.push(new Folder(folders[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedFolderCache != null) {\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const decFolders: FolderView[] = [];\r\n const promises: Array> = [];\r\n const folders = await this.getAll();\r\n folders.forEach((folder) => {\r\n promises.push(folder.decrypt().then((f) => decFolders.push(f)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decFolders.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n\r\n const noneFolder = new FolderView();\r\n noneFolder.name = this.i18nService.t('noneFolder');\r\n decFolders.push(noneFolder);\r\n\r\n this.decryptedFolderCache = decFolders;\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n async saveWithServer(folder: Folder): Promise {\r\n const request = new FolderRequest(folder);\r\n\r\n let response: FolderResponse;\r\n if (folder.id == null) {\r\n response = await this.apiService.postFolder(request);\r\n folder.id = response.id;\r\n } else {\r\n response = await this.apiService.putFolder(folder.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new FolderData(response, userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(folder: FolderData | FolderData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n folders = {};\r\n }\r\n\r\n if (folder instanceof FolderData) {\r\n const f = folder as FolderData;\r\n folders[f.id] = f;\r\n } else {\r\n (folder as FolderData[]).forEach((f) => {\r\n folders[f.id] = f;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async replace(folders: { [id: string]: FolderData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.foldersPrefix + userId);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete folders[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete folders[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n\r\n // Items in a deleted folder are re-assigned to \"No Folder\"\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(Keys.ciphersPrefix + userId);\r\n if (ciphers != null) {\r\n const updates: CipherData[] = [];\r\n for (const cId in ciphers) {\r\n if (ciphers[cId].folderId === id) {\r\n ciphers[cId].folderId = null;\r\n updates.push(ciphers[cId]);\r\n }\r\n }\r\n if (updates.length > 0) {\r\n this.cipherService.upsert(updates);\r\n }\r\n }\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteFolder(id);\r\n await this.delete(id);\r\n }\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { ConstantsService } from './constants.service';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from '../abstractions/environment.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class EnvironmentService implements EnvironmentServiceAbstraction {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n\n constructor(private apiService: ApiService, private storageService: StorageService) {}\n\n getWebVaultUrl(): string {\n if (this.webVaultUrl != null) {\n return this.webVaultUrl;\n } else if (this.baseUrl) {\n return this.baseUrl;\n }\n return null;\n }\n\n async setUrlsFromStorage(): Promise {\n const urlsObj: any = await this.storageService.get(ConstantsService.environmentUrlsKey);\n const urls = urlsObj || {\n base: null,\n api: null,\n identity: null,\n icons: null,\n webVault: null,\n };\n\n const envUrls = new EnvironmentUrls();\n\n if (urls.base) {\n this.baseUrl = envUrls.base = urls.base;\n await this.apiService.setUrls(envUrls);\n return;\n }\n\n this.webVaultUrl = urls.webVault;\n this.apiUrl = envUrls.api = urls.api;\n this.identityUrl = envUrls.identity = urls.identity;\n this.iconsUrl = urls.icons;\n await this.apiService.setUrls(envUrls);\n }\n\n async setUrls(urls: any): Promise {\n urls.base = this.formatUrl(urls.base);\n urls.webVault = this.formatUrl(urls.webVault);\n urls.api = this.formatUrl(urls.api);\n urls.identity = this.formatUrl(urls.identity);\n urls.icons = this.formatUrl(urls.icons);\n\n await this.storageService.save(ConstantsService.environmentUrlsKey, {\n base: urls.base,\n api: urls.api,\n identity: urls.identity,\n webVault: urls.webVault,\n icons: urls.icons,\n });\n\n this.baseUrl = urls.base;\n this.webVaultUrl = urls.webVault;\n this.apiUrl = urls.api;\n this.identityUrl = urls.identity;\n this.iconsUrl = urls.icons;\n\n const envUrls = new EnvironmentUrls();\n if (this.baseUrl) {\n envUrls.base = this.baseUrl;\n } else {\n envUrls.api = this.apiUrl;\n envUrls.identity = this.identityUrl;\n }\n\n await this.apiService.setUrls(envUrls);\n return urls;\n }\n\n private formatUrl(url: string): string {\n if (url == null || url === '') {\n return null;\n }\n\n url = url.replace(/\\/+$/g, '');\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\n url = 'https://' + url;\n }\n\n return url;\n }\n}\n","import { EncryptionType } from '../enums/encryptionType';\n\nimport { CipherString } from '../models/domain/cipherString';\nimport { EncryptedObject } from '../models/domain/encryptedObject';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n key: 'key',\n encOrgKeys: 'encOrgKeys',\n encPrivateKey: 'encPrivateKey',\n encKey: 'encKey',\n keyHash: 'keyHash',\n};\n\nexport class CryptoService implements CryptoServiceAbstraction {\n private key: SymmetricCryptoKey;\n private encKey: SymmetricCryptoKey;\n private legacyEtmKey: SymmetricCryptoKey;\n private keyHash: string;\n private publicKey: ArrayBuffer;\n private privateKey: ArrayBuffer;\n private orgKeys: Map;\n\n constructor(private storageService: StorageService, private secureStorageService: StorageService,\n private cryptoFunctionService: CryptoFunctionService) { }\n\n async setKey(key: SymmetricCryptoKey): Promise {\n this.key = key;\n\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\n if (option != null) {\n // if we have a lock option set, we do not store the key\n return;\n }\n\n return this.secureStorageService.save(Keys.key, key.keyB64);\n }\n\n setKeyHash(keyHash: string): Promise<{}> {\n this.keyHash = keyHash;\n return this.storageService.save(Keys.keyHash, keyHash);\n }\n\n async setEncKey(encKey: string): Promise<{}> {\n if (encKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encKey, encKey);\n this.encKey = null;\n }\n\n async setEncPrivateKey(encPrivateKey: string): Promise<{}> {\n if (encPrivateKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encPrivateKey, encPrivateKey);\n this.privateKey = null;\n }\n\n setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}> {\n const orgKeys: any = {};\n orgs.forEach((org) => {\n orgKeys[org.id] = org.key;\n });\n\n return this.storageService.save(Keys.encOrgKeys, orgKeys);\n }\n\n async getKey(): Promise {\n if (this.key != null) {\n return this.key;\n }\n\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\n if (option != null) {\n return null;\n }\n\n const key = await this.secureStorageService.get(Keys.key);\n if (key != null) {\n this.key = new SymmetricCryptoKey(Utils.fromB64ToArray(key).buffer);\n }\n\n return key == null ? null : this.key;\n }\n\n getKeyHash(): Promise {\n if (this.keyHash != null) {\n return Promise.resolve(this.keyHash);\n }\n\n return this.storageService.get(Keys.keyHash);\n }\n\n @sequentialize(() => 'getEncKey')\n async getEncKey(): Promise {\n if (this.encKey != null) {\n return this.encKey;\n }\n\n const encKey = await this.storageService.get(Keys.encKey);\n if (encKey == null) {\n return null;\n }\n\n const key = await this.getKey();\n if (key == null) {\n return null;\n }\n\n let decEncKey: ArrayBuffer;\n const encKeyCipher = new CipherString(encKey);\n if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_B64) {\n decEncKey = await this.decrypt(encKeyCipher, key);\n } else if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_HmacSha256_B64) {\n const newKey = await this.stretchKey(key);\n decEncKey = await this.decrypt(encKeyCipher, newKey);\n } else {\n throw new Error('Unsupported encKey type.');\n }\n\n if (decEncKey == null) {\n return null;\n }\n this.encKey = new SymmetricCryptoKey(decEncKey);\n return this.encKey;\n }\n\n async getPublicKey(): Promise {\n if (this.publicKey != null) {\n return this.publicKey;\n }\n\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n return null;\n }\n\n this.publicKey = await this.cryptoFunctionService.rsaExtractPublicKey(privateKey);\n return this.publicKey;\n }\n\n async getPrivateKey(): Promise {\n if (this.privateKey != null) {\n return this.privateKey;\n }\n\n const encPrivateKey = await this.storageService.get(Keys.encPrivateKey);\n if (encPrivateKey == null) {\n return null;\n }\n\n this.privateKey = await this.decrypt(new CipherString(encPrivateKey), null);\n return this.privateKey;\n }\n\n @sequentialize(() => 'getOrgKeys')\n async getOrgKeys(): Promise> {\n if (this.orgKeys != null && this.orgKeys.size > 0) {\n return this.orgKeys;\n }\n\n const encOrgKeys = await this.storageService.get(Keys.encOrgKeys);\n if (encOrgKeys == null) {\n return null;\n }\n\n const orgKeys: Map = new Map();\n let setKey = false;\n\n for (const orgId in encOrgKeys) {\n if (!encOrgKeys.hasOwnProperty(orgId)) {\n continue;\n }\n\n const decValue = await this.rsaDecrypt(encOrgKeys[orgId]);\n orgKeys.set(orgId, new SymmetricCryptoKey(decValue));\n setKey = true;\n }\n\n if (setKey) {\n this.orgKeys = orgKeys;\n }\n\n return this.orgKeys;\n }\n\n async getOrgKey(orgId: string): Promise {\n if (orgId == null) {\n return null;\n }\n\n const orgKeys = await this.getOrgKeys();\n if (orgKeys == null || !orgKeys.has(orgId)) {\n return null;\n }\n\n return orgKeys.get(orgId);\n }\n\n async hasKey(): Promise {\n return (await this.getKey()) != null;\n }\n\n async hasEncKey(): Promise {\n const encKey = await this.storageService.get(Keys.encKey);\n return encKey != null;\n }\n\n clearKey(): Promise {\n this.key = this.legacyEtmKey = null;\n return this.secureStorageService.remove(Keys.key);\n }\n\n clearKeyHash(): Promise {\n this.keyHash = null;\n return this.storageService.remove(Keys.keyHash);\n }\n\n clearEncKey(memoryOnly?: boolean): Promise {\n this.encKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encKey);\n }\n\n clearKeyPair(memoryOnly?: boolean): Promise {\n this.privateKey = null;\n this.publicKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encPrivateKey);\n }\n\n clearOrgKeys(memoryOnly?: boolean): Promise {\n this.orgKeys = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encOrgKeys);\n }\n\n clearKeys(): Promise {\n return Promise.all([\n this.clearKey(),\n this.clearKeyHash(),\n this.clearOrgKeys(),\n this.clearEncKey(),\n this.clearKeyPair(),\n ]);\n }\n\n async toggleKey(): Promise {\n const key = await this.getKey();\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\n if (option != null || option === 0) {\n // if we have a lock option set, clear the key\n await this.clearKey();\n this.key = key;\n return;\n }\n\n await this.setKey(key);\n }\n\n async makeKey(password: string, salt: string): Promise {\n const key = await this.cryptoFunctionService.pbkdf2(password, salt, 'sha256', 5000);\n return new SymmetricCryptoKey(key);\n }\n\n async makeShareKey(): Promise<[CipherString, SymmetricCryptoKey]> {\n const shareKey = await this.cryptoFunctionService.randomBytes(64);\n const publicKey = await this.getPublicKey();\n const encKey = await this.getEncKey();\n const encShareKey = await this.rsaEncrypt(shareKey, publicKey, encKey);\n return [encShareKey, new SymmetricCryptoKey(shareKey)];\n }\n\n async makeKeyPair(key?: SymmetricCryptoKey): Promise<[string, CipherString]> {\n const keyPair = await this.cryptoFunctionService.rsaGenerateKeyPair(2048);\n const publicB64 = Utils.fromBufferToB64(keyPair[0]);\n const privateEnc = await this.encrypt(keyPair[1], key);\n return [publicB64, privateEnc];\n }\n\n async hashPassword(password: string, key: SymmetricCryptoKey): Promise {\n if (key == null) {\n key = await this.getKey();\n }\n if (password == null || key == null) {\n throw new Error('Invalid parameters.');\n }\n\n const hash = await this.cryptoFunctionService.pbkdf2(key.key, password, 'sha256', 1);\n return Utils.fromBufferToB64(hash);\n }\n\n async makeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n const encKey = await this.cryptoFunctionService.randomBytes(64);\n let encKeyEnc: CipherString = null;\n // TODO: Uncomment when we're ready to enable key stretching\n encKeyEnc = await this.encrypt(encKey, key);\n /*\n if (key.key.byteLength === 32) {\n const newKey = await this.stretchKey(key);\n encKeyEnc = await this.encrypt(encKey, newKey);\n } else if (key.key.byteLength === 64) {\n encKeyEnc = await this.encrypt(encKey, key);\n } else {\n throw new Error('Invalid key size.');\n }\n */\n return [new SymmetricCryptoKey(encKey), encKeyEnc];\n }\n\n async encrypt(plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n if (plainValue == null) {\n return Promise.resolve(null);\n }\n\n let plainBuf: ArrayBuffer;\n if (typeof (plainValue) === 'string') {\n plainBuf = Utils.fromUtf8ToArray(plainValue).buffer;\n } else {\n plainBuf = plainValue;\n }\n\n const encObj = await this.aesEncrypt(plainBuf, key);\n const iv = Utils.fromBufferToB64(encObj.iv);\n const data = Utils.fromBufferToB64(encObj.data);\n const mac = encObj.mac != null ? Utils.fromBufferToB64(encObj.mac) : null;\n return new CipherString(encObj.key.encType, iv, data, mac);\n }\n\n async encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n const encValue = await this.aesEncrypt(plainValue, key);\n let macLen = 0;\n if (encValue.mac != null) {\n macLen = encValue.mac.byteLength;\n }\n\n const encBytes = new Uint8Array(1 + encValue.iv.byteLength + macLen + encValue.data.byteLength);\n encBytes.set([encValue.key.encType]);\n encBytes.set(new Uint8Array(encValue.iv), 1);\n if (encValue.mac != null) {\n encBytes.set(new Uint8Array(encValue.mac), 1 + encValue.iv.byteLength);\n }\n\n encBytes.set(new Uint8Array(encValue.data), 1 + encValue.iv.byteLength + macLen);\n return encBytes.buffer;\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey?: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey == null) {\n throw new Error('Public key unavailable.');\n }\n\n let type = EncryptionType.Rsa2048_OaepSha1_B64;\n const encBytes = await this.cryptoFunctionService.rsaEncrypt(data, publicKey, 'sha1');\n let mac: string = null;\n if (key != null && key.macKey != null) {\n type = EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64;\n const macBytes = await this.cryptoFunctionService.hmac(encBytes, key.macKey, 'sha256');\n mac = Utils.fromBufferToB64(macBytes);\n }\n return new CipherString(type, Utils.fromBufferToB64(encBytes), null, mac);\n }\n\n async decrypt(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n const iv = Utils.fromB64ToArray(cipherString.iv).buffer;\n const data = Utils.fromB64ToArray(cipherString.data).buffer;\n const mac = cipherString.mac ? Utils.fromB64ToArray(cipherString.mac).buffer : null;\n const decipher = await this.aesDecryptToBytes(cipherString.encryptionType, data, iv, mac, key);\n if (decipher == null) {\n return null;\n }\n\n return decipher;\n }\n\n async decryptToUtf8(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n return await this.aesDecryptToUtf8(cipherString.encryptionType, cipherString.data,\n cipherString.iv, cipherString.mac, key);\n }\n\n async decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n if (encBuf == null) {\n throw new Error('no encBuf.');\n }\n\n const encBytes = new Uint8Array(encBuf);\n const encType = encBytes[0];\n let ctBytes: Uint8Array = null;\n let ivBytes: Uint8Array = null;\n let macBytes: Uint8Array = null;\n\n switch (encType) {\n case EncryptionType.AesCbc128_HmacSha256_B64:\n case EncryptionType.AesCbc256_HmacSha256_B64:\n if (encBytes.length <= 49) { // 1 + 16 + 32 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n macBytes = encBytes.slice(17, 49);\n ctBytes = encBytes.slice(49);\n break;\n case EncryptionType.AesCbc256_B64:\n if (encBytes.length <= 17) { // 1 + 16 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n ctBytes = encBytes.slice(17);\n break;\n default:\n return null;\n }\n\n return await this.aesDecryptToBytes(encType, ctBytes.buffer, ivBytes.buffer,\n macBytes != null ? macBytes.buffer : null, key);\n }\n\n // EFForg/OpenWireless\n // ref https://github.com/EFForg/OpenWireless/blob/master/app/js/diceware.js\n async randomNumber(min: number, max: number): Promise {\n let rval = 0;\n const range = max - min + 1;\n const bitsNeeded = Math.ceil(Math.log2(range));\n if (bitsNeeded > 53) {\n throw new Error('We cannot generate numbers larger than 53 bits.');\n }\n\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\n const mask = Math.pow(2, bitsNeeded) - 1;\n // 7776 -> (2^13 = 8192) -1 == 8191 or 0x00001111 11111111\n\n // Fill a byte array with N random numbers\n const byteArray = new Uint8Array(await this.cryptoFunctionService.randomBytes(bytesNeeded));\n\n let p = (bytesNeeded - 1) * 8;\n for (let i = 0; i < bytesNeeded; i++) {\n rval += byteArray[i] * Math.pow(2, p);\n p -= 8;\n }\n\n // Use & to apply the mask and reduce the number of recursive lookups\n // tslint:disable-next-line\n rval = rval & mask;\n\n if (rval >= range) {\n // Integer out of acceptable range\n return this.randomNumber(min, max);\n }\n\n // Return an integer that falls within the range\n return min + rval;\n }\n\n // Helpers\n\n private async aesEncrypt(data: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const obj = new EncryptedObject();\n obj.key = await this.getKeyForEncryption(key);\n obj.iv = await this.cryptoFunctionService.randomBytes(16);\n obj.data = await this.cryptoFunctionService.aesEncrypt(data, obj.iv, obj.key.encKey);\n\n if (obj.key.macKey != null) {\n const macData = new Uint8Array(obj.iv.byteLength + obj.data.byteLength);\n macData.set(new Uint8Array(obj.iv), 0);\n macData.set(new Uint8Array(obj.data), obj.iv.byteLength);\n obj.mac = await this.cryptoFunctionService.hmac(macData.buffer, obj.key.macKey, 'sha256');\n }\n\n return obj;\n }\n\n private async aesDecryptToUtf8(encType: EncryptionType, data: string, iv: string, mac: string,\n key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n // tslint:disable-next-line\n console.error('mac required.');\n return null;\n }\n\n if (theKey.encType !== encType) {\n // tslint:disable-next-line\n console.error('encType unavailable.');\n return null;\n }\n\n const fastParams = this.cryptoFunctionService.aesDecryptFastParameters(data, iv, mac, theKey);\n if (fastParams.macKey != null && fastParams.mac != null) {\n const computedMac = await this.cryptoFunctionService.hmacFast(fastParams.macData,\n fastParams.macKey, 'sha256');\n const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac);\n if (!macsEqual) {\n // tslint:disable-next-line\n console.error('mac failed.');\n return null;\n }\n }\n\n return this.cryptoFunctionService.aesDecryptFast(fastParams);\n }\n\n private async aesDecryptToBytes(encType: EncryptionType, data: ArrayBuffer, iv: ArrayBuffer,\n mac: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n return null;\n }\n\n if (theKey.encType !== encType) {\n return null;\n }\n\n if (theKey.macKey != null && mac != null) {\n const macData = new Uint8Array(iv.byteLength + data.byteLength);\n macData.set(new Uint8Array(iv), 0);\n macData.set(new Uint8Array(data), iv.byteLength);\n const computedMac = await this.cryptoFunctionService.hmac(macData.buffer, theKey.macKey, 'sha256');\n if (computedMac === null) {\n return null;\n }\n\n const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac);\n if (!macsMatch) {\n // tslint:disable-next-line\n console.error('mac failed.');\n return null;\n }\n }\n\n return await this.cryptoFunctionService.aesDecrypt(data, iv, theKey.encKey);\n }\n\n private async rsaDecrypt(encValue: string): Promise {\n const headerPieces = encValue.split('.');\n let encType: EncryptionType = null;\n let encPieces: string[];\n\n if (headerPieces.length === 1) {\n encType = EncryptionType.Rsa2048_OaepSha256_B64;\n encPieces = [headerPieces[0]];\n } else if (headerPieces.length === 2) {\n try {\n encType = parseInt(headerPieces[0], null);\n encPieces = headerPieces[1].split('|');\n } catch (e) { }\n }\n\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_B64:\n if (encPieces.length !== 1) {\n throw new Error('Invalid cipher format.');\n }\n break;\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n if (encPieces.length !== 2) {\n throw new Error('Invalid cipher format.');\n }\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n if (encPieces == null || encPieces.length <= 0) {\n throw new Error('encPieces unavailable.');\n }\n\n const data = Utils.fromB64ToArray(encPieces[0]).buffer;\n const key = await this.getEncKey();\n if (key != null && key.macKey != null && encPieces.length > 1) {\n const mac = Utils.fromB64ToArray(encPieces[1]).buffer;\n const computedMac = await this.cryptoFunctionService.hmac(data, key.macKey, 'sha256');\n const macsEqual = await this.cryptoFunctionService.compare(mac, computedMac);\n if (!macsEqual) {\n throw new Error('MAC failed.');\n }\n }\n\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n throw new Error('No private key.');\n }\n\n let alg: 'sha1' | 'sha256' = 'sha1';\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n alg = 'sha256';\n break;\n case EncryptionType.Rsa2048_OaepSha1_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n return this.cryptoFunctionService.rsaDecrypt(data, privateKey, alg);\n }\n\n private async getKeyForEncryption(key?: SymmetricCryptoKey): Promise {\n if (key != null) {\n return key;\n }\n\n const encKey = await this.getEncKey();\n if (encKey != null) {\n return encKey;\n }\n\n return await this.getKey();\n }\n\n private resolveLegacyKey(encType: EncryptionType, key: SymmetricCryptoKey): SymmetricCryptoKey {\n if (encType === EncryptionType.AesCbc128_HmacSha256_B64 &&\n key.encType === EncryptionType.AesCbc256_B64) {\n // Old encrypt-then-mac scheme, make a new key\n if (this.legacyEtmKey == null) {\n this.legacyEtmKey = new SymmetricCryptoKey(key.key, EncryptionType.AesCbc128_HmacSha256_B64);\n }\n return this.legacyEtmKey;\n }\n\n return key;\n }\n\n private async stretchKey(key: SymmetricCryptoKey): Promise {\n const newKey = new Uint8Array(64);\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('enc'), 32));\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('mac'), 32), 32);\n return new SymmetricCryptoKey(newKey.buffer);\n }\n\n // ref: https://tools.ietf.org/html/rfc5869\n private async hkdfExpand(prk: ArrayBuffer, info: Uint8Array, size: number) {\n const hashLen = 32; // sha256\n const okm = new Uint8Array(size);\n let previousT = new Uint8Array(0);\n const n = Math.ceil(size / hashLen);\n for (let i = 0; i < n; i++) {\n const t = new Uint8Array(previousT.length + info.length + 1);\n t.set(previousT);\n t.set(info, previousT.length);\n t.set([i + 1], t.length - 1);\n previousT = new Uint8Array(await this.cryptoFunctionService.hmac(t.buffer, prk, 'sha256'));\n okm.set(previousT, i * hashLen);\n }\n return okm;\n }\n}\n","import { CryptoService } from '../abstractions/crypto.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nexport class ContainerService {\n constructor(private cryptoService: CryptoService,\n private platformUtilsService: PlatformUtilsService) {\n }\n\n // deprecated, use attachToGlobal instead\n attachToWindow(win: any) {\n this.attachToGlobal(win);\n }\n\n attachToGlobal(global: any) {\n if (!global.bitwardenContainerService) {\n global.bitwardenContainerService = this;\n }\n }\n\n getCryptoService(): CryptoService {\n return this.cryptoService;\n }\n\n getPlatformUtilsService(): PlatformUtilsService {\n return this.platformUtilsService;\n }\n}\n","import { CollectionData } from '../models/data/collectionData';\r\n\r\nimport { Collection } from '../models/domain/collection';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nimport { CollectionService as CollectionServiceAbstraction } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n collectionsPrefix: 'collections_',\r\n};\r\n\r\nexport class CollectionService implements CollectionServiceAbstraction {\r\n decryptedCollectionCache: CollectionView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private storageService: StorageService, private i18nService: I18nService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async encrypt(model: CollectionView): Promise {\r\n if (model.organizationId == null) {\r\n throw new Error('Collection has no organization id.');\r\n }\r\n const key = await this.cryptoService.getOrgKey(model.organizationId);\r\n if (key == null) {\r\n throw new Error('No key for this collection\\'s organization.');\r\n }\r\n const collection = new Collection();\r\n collection.id = model.id;\r\n collection.organizationId = model.organizationId;\r\n collection.readOnly = model.readOnly;\r\n collection.name = await this.cryptoService.encrypt(model.name, key);\r\n return collection;\r\n }\r\n\r\n async decryptMany(collections: Collection[]): Promise {\r\n if (collections == null) {\r\n return [];\r\n }\r\n const decCollections: CollectionView[] = [];\r\n const promises: Array> = [];\r\n collections.forEach((collection) => {\r\n promises.push(collection.decrypt().then((c) => decCollections.push(c)));\r\n });\r\n await Promise.all(promises);\r\n return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null || !collections.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Collection(collections[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n const response: Collection[] = [];\r\n for (const id in collections) {\r\n if (collections.hasOwnProperty(id)) {\r\n response.push(new Collection(collections[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCollectionCache != null) {\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const collections = await this.getAll();\r\n this.decryptedCollectionCache = await this.decryptMany(collections);\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n async upsert(collection: CollectionData | CollectionData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n collections = {};\r\n }\r\n\r\n if (collection instanceof CollectionData) {\r\n const c = collection as CollectionData;\r\n collections[c.id] = c;\r\n } else {\r\n (collection as CollectionData[]).forEach((c) => {\r\n collections[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async replace(collections: { [id: string]: CollectionData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.collectionsPrefix + userId);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete collections[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete collections[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n}\r\n","import { CipherType } from '../enums/cipherType';\r\nimport { UriMatchType } from '../enums/uriMatchType';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Attachment } from '../models/domain/attachment';\r\nimport { Card } from '../models/domain/card';\r\nimport { Cipher } from '../models/domain/cipher';\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport Domain from '../models/domain/domain';\r\nimport { Field } from '../models/domain/field';\r\nimport { Identity } from '../models/domain/identity';\r\nimport { Login } from '../models/domain/login';\r\nimport { LoginUri } from '../models/domain/loginUri';\r\nimport { SecureNote } from '../models/domain/secureNote';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\n\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\n\r\nimport { AttachmentView } from '../models/view/attachmentView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { View } from '../models/view/view';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService as CipherServiceAbstraction } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { SettingsService } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n ciphersPrefix: 'ciphers_',\r\n localData: 'sitesLocalData',\r\n neverDomains: 'neverDomains',\r\n};\r\n\r\nexport class CipherService implements CipherServiceAbstraction {\r\n decryptedCipherCache: CipherView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private settingsService: SettingsService, private apiService: ApiService,\r\n private storageService: StorageService, private i18nService: I18nService,\r\n private platformUtilsService: PlatformUtilsService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async encrypt(model: CipherView, key?: SymmetricCryptoKey): Promise {\r\n const cipher = new Cipher();\r\n cipher.id = model.id;\r\n cipher.folderId = model.folderId;\r\n cipher.favorite = model.favorite;\r\n cipher.organizationId = model.organizationId;\r\n cipher.type = model.type;\r\n cipher.collectionIds = model.collectionIds;\r\n\r\n if (key == null && cipher.organizationId != null) {\r\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\r\n }\r\n await Promise.all([\r\n this.encryptObjProperty(model, cipher, {\r\n name: null,\r\n notes: null,\r\n }, key),\r\n this.encryptCipherData(cipher, model, key),\r\n this.encryptFields(model.fields, key).then((fields) => {\r\n cipher.fields = fields;\r\n }),\r\n this.encryptAttachments(model.attachments, key).then((attachments) => {\r\n cipher.attachments = attachments;\r\n }),\r\n ]);\r\n\r\n return cipher;\r\n }\r\n\r\n async encryptAttachments(attachmentsModel: AttachmentView[], key: SymmetricCryptoKey): Promise {\r\n if (attachmentsModel == null || attachmentsModel.length === 0) {\r\n return null;\r\n }\r\n\r\n const promises: Array> = [];\r\n const encAttachments: Attachment[] = [];\r\n attachmentsModel.forEach(async (model) => {\r\n const attachment = new Attachment();\r\n attachment.id = model.id;\r\n attachment.size = model.size;\r\n attachment.sizeName = model.sizeName;\r\n attachment.url = model.url;\r\n const promise = this.encryptObjProperty(model, attachment, {\r\n fileName: null,\r\n }, key).then(() => {\r\n encAttachments.push(attachment);\r\n });\r\n promises.push(promise);\r\n });\r\n\r\n await Promise.all(promises);\r\n return encAttachments;\r\n }\r\n\r\n async encryptFields(fieldsModel: FieldView[], key: SymmetricCryptoKey): Promise {\r\n if (!fieldsModel || !fieldsModel.length) {\r\n return null;\r\n }\r\n\r\n const self = this;\r\n const encFields: Field[] = [];\r\n await fieldsModel.reduce((promise, field) => {\r\n return promise.then(() => {\r\n return self.encryptField(field, key);\r\n }).then((encField: Field) => {\r\n encFields.push(encField);\r\n });\r\n }, Promise.resolve());\r\n\r\n return encFields;\r\n }\r\n\r\n async encryptField(fieldModel: FieldView, key: SymmetricCryptoKey): Promise {\r\n const field = new Field();\r\n field.type = fieldModel.type;\r\n\r\n await this.encryptObjProperty(fieldModel, field, {\r\n name: null,\r\n value: null,\r\n }, key);\r\n\r\n return field;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const localData = await this.storageService.get(Keys.localData);\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null || !ciphers.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Cipher(ciphers[id], false, localData ? localData[id] : null);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const localData = await this.storageService.get(Keys.localData);\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n const response: Cipher[] = [];\r\n for (const id in ciphers) {\r\n if (ciphers.hasOwnProperty(id)) {\r\n response.push(new Cipher(ciphers[id], false, localData ? localData[id] : null));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCipherCache != null) {\r\n return this.decryptedCipherCache;\r\n }\r\n\r\n const decCiphers: CipherView[] = [];\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const promises: any[] = [];\r\n const ciphers = await this.getAll();\r\n ciphers.forEach((cipher) => {\r\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decCiphers.sort(this.getLocaleSortingFunction());\r\n this.decryptedCipherCache = decCiphers;\r\n return this.decryptedCipherCache;\r\n }\r\n\r\n async getAllDecryptedForGrouping(groupingId: string, folder: boolean = true): Promise {\r\n const ciphers = await this.getAllDecrypted();\r\n\r\n return ciphers.filter((cipher) => {\r\n if (folder && cipher.folderId === groupingId) {\r\n return true;\r\n } else if (!folder && cipher.collectionIds != null && cipher.collectionIds.indexOf(groupingId) > -1) {\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n async getAllDecryptedForUrl(url: string, includeOtherTypes?: CipherType[]): Promise {\r\n if (url == null && !includeOtherTypes) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const domain = this.platformUtilsService.getDomain(url);\r\n const eqDomainsPromise = domain == null ? Promise.resolve([]) :\r\n this.settingsService.getEquivalentDomains().then((eqDomains: any[][]) => {\r\n let matches: any[] = [];\r\n eqDomains.forEach((eqDomain) => {\r\n if (eqDomain.length && eqDomain.indexOf(domain) >= 0) {\r\n matches = matches.concat(eqDomain);\r\n }\r\n });\r\n\r\n if (!matches.length) {\r\n matches.push(domain);\r\n }\r\n\r\n return matches;\r\n });\r\n\r\n const result = await Promise.all([eqDomainsPromise, this.getAllDecrypted()]);\r\n const matchingDomains = result[0];\r\n const ciphers = result[1];\r\n\r\n return ciphers.filter((cipher) => {\r\n if (includeOtherTypes && includeOtherTypes.indexOf(cipher.type) > -1) {\r\n return true;\r\n }\r\n\r\n if (url != null && cipher.type === CipherType.Login && cipher.login.uris != null) {\r\n for (let i = 0; i < cipher.login.uris.length; i++) {\r\n const u = cipher.login.uris[i];\r\n if (u.uri == null) {\r\n continue;\r\n }\r\n\r\n switch (u.match) {\r\n case null:\r\n case undefined:\r\n case UriMatchType.Domain:\r\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.Host:\r\n const urlHost = Utils.getHost(url);\r\n if (urlHost != null && urlHost === Utils.getHost(u.uri)) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.Exact:\r\n if (url === u.uri) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.StartsWith:\r\n if (url.startsWith(u.uri)) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.RegularExpression:\r\n try {\r\n const regex = new RegExp(u.uri, 'i');\r\n if (regex.test(url)) {\r\n return true;\r\n }\r\n } catch { }\r\n break;\r\n case UriMatchType.Never:\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n async getLastUsedForUrl(url: string): Promise {\r\n const ciphers = await this.getAllDecryptedForUrl(url);\r\n if (ciphers.length === 0) {\r\n return null;\r\n }\r\n\r\n const sortedCiphers = ciphers.sort(this.sortCiphersByLastUsed);\r\n return sortedCiphers[0];\r\n }\r\n\r\n async updateLastUsedDate(id: string): Promise {\r\n let ciphersLocalData = await this.storageService.get(Keys.localData);\r\n if (!ciphersLocalData) {\r\n ciphersLocalData = {};\r\n }\r\n\r\n if (ciphersLocalData[id]) {\r\n ciphersLocalData[id].lastUsedDate = new Date().getTime();\r\n } else {\r\n ciphersLocalData[id] = {\r\n lastUsedDate: new Date().getTime(),\r\n };\r\n }\r\n\r\n await this.storageService.save(Keys.localData, ciphersLocalData);\r\n\r\n if (this.decryptedCipherCache == null) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\r\n const cached = this.decryptedCipherCache[i];\r\n if (cached.id === id) {\r\n cached.localData = ciphersLocalData[id];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n async saveNeverDomain(domain: string): Promise {\r\n if (domain == null) {\r\n return;\r\n }\r\n\r\n let domains = await this.storageService.get<{ [id: string]: any; }>(Keys.neverDomains);\r\n if (!domains) {\r\n domains = {};\r\n }\r\n domains[domain] = null;\r\n await this.storageService.save(Keys.neverDomains, domains);\r\n }\r\n\r\n async saveWithServer(cipher: Cipher): Promise {\r\n const request = new CipherRequest(cipher);\r\n\r\n let response: CipherResponse;\r\n if (cipher.id == null) {\r\n response = await this.apiService.postCipher(request);\r\n cipher.id = response.id;\r\n } else {\r\n response = await this.apiService.putCipher(cipher.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new CipherData(response, userId, cipher.collectionIds);\r\n await this.upsert(data);\r\n }\r\n\r\n async shareWithServer(cipher: CipherView, organizationId: string, collectionIds: string[]): Promise {\r\n cipher.organizationId = organizationId;\r\n cipher.collectionIds = collectionIds;\r\n const encCipher = await this.encrypt(cipher);\r\n const request = new CipherShareRequest(encCipher);\r\n await this.apiService.putShareCipher(cipher.id, request);\r\n const userId = await this.userService.getUserId();\r\n await this.upsert(encCipher.toCipherData(userId));\r\n }\r\n\r\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\r\n const promises: Array> = [];\r\n const encCiphers: Cipher[] = [];\r\n for (const cipher of ciphers) {\r\n cipher.organizationId = organizationId;\r\n cipher.collectionIds = collectionIds;\r\n promises.push(this.encrypt(cipher).then((c) => {\r\n encCiphers.push(c);\r\n }));\r\n }\r\n await Promise.all(promises);\r\n const request = new CipherBulkShareRequest(encCiphers, collectionIds);\r\n await this.apiService.putShareCiphers(request);\r\n const userId = await this.userService.getUserId();\r\n await this.upsert(encCiphers.map((c) => c.toCipherData(userId)));\r\n }\r\n\r\n async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\r\n organizationId: string): Promise {\r\n const attachmentResponse = await fetch(new Request(attachmentView.url, { cache: 'no-cache' }));\r\n if (attachmentResponse.status !== 200) {\r\n throw Error('Failed to download attachment: ' + attachmentResponse.status.toString());\r\n }\r\n\r\n const buf = await attachmentResponse.arrayBuffer();\r\n const decBuf = await this.cryptoService.decryptFromBytes(buf, null);\r\n const key = await this.cryptoService.getOrgKey(organizationId);\r\n const encData = await this.cryptoService.encryptToBytes(decBuf, key);\r\n const encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\r\n\r\n const fd = new FormData();\r\n try {\r\n const blob = new Blob([encData], { type: 'application/octet-stream' });\r\n fd.append('data', blob, encFileName.encryptedString);\r\n } catch (e) {\r\n if (Utils.isNode && !Utils.isBrowser) {\r\n fd.append('data', new Buffer(encData) as any, {\r\n filepath: encFileName.encryptedString,\r\n contentType: 'application/octet-stream',\r\n } as any);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n let response: CipherResponse;\r\n try {\r\n response = await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd,\r\n organizationId);\r\n } catch (e) {\r\n throw new Error((e as ErrorResponse).getSingleMessage());\r\n }\r\n }\r\n\r\n saveAttachmentWithServer(cipher: Cipher, unencryptedFile: any, admin = false): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(unencryptedFile);\r\n reader.onload = async (evt: any) => {\r\n try {\r\n const cData = await this.saveAttachmentRawWithServer(cipher,\r\n unencryptedFile.name, evt.target.result, admin);\r\n resolve(cData);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n };\r\n reader.onerror = (evt) => {\r\n reject('Error reading file.');\r\n };\r\n });\r\n }\r\n\r\n async saveAttachmentRawWithServer(cipher: Cipher, filename: string,\r\n data: ArrayBuffer, admin = false): Promise {\r\n const key = await this.cryptoService.getOrgKey(cipher.organizationId);\r\n const encFileName = await this.cryptoService.encrypt(filename, key);\r\n const encData = await this.cryptoService.encryptToBytes(data, key);\r\n\r\n const fd = new FormData();\r\n try {\r\n const blob = new Blob([encData], { type: 'application/octet-stream' });\r\n fd.append('data', blob, encFileName.encryptedString);\r\n } catch (e) {\r\n if (Utils.isNode && !Utils.isBrowser) {\r\n fd.append('data', new Buffer(encData) as any, {\r\n filepath: encFileName.encryptedString,\r\n contentType: 'application/octet-stream',\r\n } as any);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n let response: CipherResponse;\r\n try {\r\n if (admin) {\r\n response = await this.apiService.postCipherAttachmentAdmin(cipher.id, fd);\r\n } else {\r\n response = await this.apiService.postCipherAttachment(cipher.id, fd);\r\n }\r\n } catch (e) {\r\n throw new Error((e as ErrorResponse).getSingleMessage());\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const cData = new CipherData(response, userId, cipher.collectionIds);\r\n if (!admin) {\r\n this.upsert(cData);\r\n }\r\n return new Cipher(cData);\r\n }\r\n\r\n async saveCollectionsWithServer(cipher: Cipher): Promise {\r\n const request = new CipherCollectionsRequest(cipher.collectionIds);\r\n await this.apiService.putCipherCollections(cipher.id, request);\r\n const userId = await this.userService.getUserId();\r\n const data = cipher.toCipherData(userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(cipher: CipherData | CipherData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n ciphers = {};\r\n }\r\n\r\n if (cipher instanceof CipherData) {\r\n const c = cipher as CipherData;\r\n ciphers[c.id] = c;\r\n } else {\r\n (cipher as CipherData[]).forEach((c) => {\r\n ciphers[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async replace(ciphers: { [id: string]: CipherData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.ciphersPrefix + userId);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async moveManyWithServer(ids: string[], folderId: string): Promise {\r\n await this.apiService.putMoveCiphers(new CipherBulkMoveRequest(ids, folderId));\r\n\r\n const userId = await this.userService.getUserId();\r\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n ciphers = {};\r\n }\r\n\r\n ids.forEach((id) => {\r\n if (ciphers.hasOwnProperty(id)) {\r\n ciphers[id].folderId = folderId;\r\n }\r\n });\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete ciphers[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete ciphers[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteCipher(id);\r\n await this.delete(id);\r\n }\r\n\r\n async deleteManyWithServer(ids: string[]): Promise {\r\n await this.apiService.deleteManyCiphers(new CipherBulkDeleteRequest(ids));\r\n await this.delete(ids);\r\n }\r\n\r\n async deleteAttachment(id: string, attachmentId: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n\r\n if (ciphers == null || !ciphers.hasOwnProperty(id) || ciphers[id].attachments == null) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < ciphers[id].attachments.length; i++) {\r\n if (ciphers[id].attachments[i].id === attachmentId) {\r\n ciphers[id].attachments.splice(i, 1);\r\n }\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async deleteAttachmentWithServer(id: string, attachmentId: string): Promise {\r\n try {\r\n await this.apiService.deleteCipherAttachment(id, attachmentId);\r\n } catch (e) {\r\n return Promise.reject((e as ErrorResponse).getSingleMessage());\r\n }\r\n await this.deleteAttachment(id, attachmentId);\r\n }\r\n\r\n sortCiphersByLastUsed(a: CipherView, b: CipherView): number {\r\n const aLastUsed = a.localData && a.localData.lastUsedDate ? a.localData.lastUsedDate as number : null;\r\n const bLastUsed = b.localData && b.localData.lastUsedDate ? b.localData.lastUsedDate as number : null;\r\n\r\n if (aLastUsed != null && bLastUsed != null && aLastUsed < bLastUsed) {\r\n return 1;\r\n }\r\n if (aLastUsed != null && bLastUsed == null) {\r\n return -1;\r\n }\r\n\r\n if (bLastUsed != null && aLastUsed != null && aLastUsed > bLastUsed) {\r\n return -1;\r\n }\r\n if (bLastUsed != null && aLastUsed == null) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n sortCiphersByLastUsedThenName(a: CipherView, b: CipherView): number {\r\n const result = this.sortCiphersByLastUsed(a, b);\r\n if (result !== 0) {\r\n return result;\r\n }\r\n\r\n return this.getLocaleSortingFunction()(a, b);\r\n }\r\n\r\n getLocaleSortingFunction(): (a: CipherView, b: CipherView) => number {\r\n return (a, b) => {\r\n let aName = a.name;\r\n let bName = b.name;\r\n\r\n if (aName == null && bName != null) {\r\n return -1;\r\n }\r\n if (aName != null && bName == null) {\r\n return 1;\r\n }\r\n if (aName == null && bName == null) {\r\n return 0;\r\n }\r\n\r\n const result = this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\r\n aName.localeCompare(bName);\r\n\r\n if (result !== 0 || a.type !== CipherType.Login || b.type !== CipherType.Login) {\r\n return result;\r\n }\r\n\r\n if (a.login.username != null) {\r\n aName += a.login.username;\r\n }\r\n\r\n if (b.login.username != null) {\r\n bName += b.login.username;\r\n }\r\n\r\n return this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\r\n aName.localeCompare(bName);\r\n };\r\n }\r\n\r\n // Helpers\r\n\r\n private async encryptObjProperty(model: V, obj: D,\r\n map: any, key: SymmetricCryptoKey): Promise {\r\n const promises = [];\r\n const self = this;\r\n\r\n for (const prop in map) {\r\n if (!map.hasOwnProperty(prop)) {\r\n continue;\r\n }\r\n\r\n // tslint:disable-next-line\r\n (function (theProp, theObj) {\r\n const p = Promise.resolve().then(() => {\r\n const modelProp = (model as any)[(map[theProp] || theProp)];\r\n if (modelProp && modelProp !== '') {\r\n return self.cryptoService.encrypt(modelProp, key);\r\n }\r\n return null;\r\n }).then((val: CipherString) => {\r\n (theObj as any)[theProp] = val;\r\n });\r\n promises.push(p);\r\n })(prop, obj);\r\n }\r\n\r\n await Promise.all(promises);\r\n }\r\n\r\n private async encryptCipherData(cipher: Cipher, model: CipherView, key: SymmetricCryptoKey) {\r\n switch (cipher.type) {\r\n case CipherType.Login:\r\n cipher.login = new Login();\r\n await this.encryptObjProperty(model.login, cipher.login, {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n }, key);\r\n\r\n if (model.login.uris != null) {\r\n cipher.login.uris = [];\r\n for (let i = 0; i < model.login.uris.length; i++) {\r\n const loginUri = new LoginUri();\r\n loginUri.match = model.login.uris[i].match;\r\n await this.encryptObjProperty(model.login.uris[i], loginUri, {\r\n uri: null,\r\n }, key);\r\n cipher.login.uris.push(loginUri);\r\n }\r\n }\r\n return;\r\n case CipherType.SecureNote:\r\n cipher.secureNote = new SecureNote();\r\n cipher.secureNote.type = model.secureNote.type;\r\n return;\r\n case CipherType.Card:\r\n cipher.card = new Card();\r\n await this.encryptObjProperty(model.card, cipher.card, {\r\n cardholderName: null,\r\n brand: null,\r\n number: null,\r\n expMonth: null,\r\n expYear: null,\r\n code: null,\r\n }, key);\r\n return;\r\n case CipherType.Identity:\r\n cipher.identity = new Identity();\r\n await this.encryptObjProperty(model.identity, cipher.identity, {\r\n title: null,\r\n firstName: null,\r\n middleName: null,\r\n lastName: null,\r\n address1: null,\r\n address2: null,\r\n address3: null,\r\n city: null,\r\n state: null,\r\n postalCode: null,\r\n country: null,\r\n company: null,\r\n email: null,\r\n phone: null,\r\n ssn: null,\r\n username: null,\r\n passportNumber: null,\r\n licenseNumber: null,\r\n }, key);\r\n return;\r\n default:\r\n throw new Error('Unknown cipher type.');\r\n }\r\n }\r\n}\r\n","import { ApiService } from '../abstractions/api.service';\nimport { AuditService as AuditServiceAbstraction } from '../abstractions/audit.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\n\nimport { Utils } from '../misc/utils';\n\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nconst PwnedPasswordsApi = 'https://api.pwnedpasswords.com/range/';\nconst HibpBreachApi = 'https://haveibeenpwned.com/api/v2/breachedaccount/';\n\nexport class AuditService implements AuditServiceAbstraction {\n constructor(private cryptoFunctionService: CryptoFunctionService, private apiService: ApiService) { }\n\n async passwordLeaked(password: string): Promise {\n const hashBytes = await this.cryptoFunctionService.hash(password, 'sha1');\n const hash = Utils.fromBufferToHex(hashBytes).toUpperCase();\n const hashStart = hash.substr(0, 5);\n const hashEnding = hash.substr(5);\n\n const response = await fetch(new Request(PwnedPasswordsApi + hashStart));\n const leakedHashes = await response.text();\n const match = leakedHashes.split(/\\r?\\n/).find((v) => {\n return v.split(':')[0] === hashEnding;\n });\n\n return match != null ? parseInt(match.split(':')[1], 10) : 0;\n }\n\n async breachedAccounts(username: string): Promise {\n const response = await this.apiService.fetch(new Request(HibpBreachApi + username));\n if (response.status === 404) {\n return [];\n } else if (response.status !== 200) {\n throw new Error();\n }\n const responseJson = await response.json();\n return responseJson.map((a: any) => new BreachAccountResponse(a));\n }\n}\n","import { Utils } from '../misc/utils';\r\n\r\nimport { AppIdService as AppIdServiceAbstraction } from '../abstractions/appId.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class AppIdService implements AppIdServiceAbstraction {\r\n constructor(private storageService: StorageService) {\r\n }\r\n\r\n getAppId(): Promise {\r\n return this.makeAndGetAppId('appId');\r\n }\r\n\r\n getAnonymousAppId(): Promise {\r\n return this.makeAndGetAppId('anonymousAppId');\r\n }\r\n\r\n private async makeAndGetAppId(key: string) {\r\n const existingId = await this.storageService.get(key);\r\n if (existingId != null) {\r\n return existingId;\r\n }\r\n\r\n const guid = Utils.newGuid();\r\n await this.storageService.save(key, guid);\r\n return guid;\r\n }\r\n}\r\n","import { ProfileOrganizationResponse } from './profileOrganizationResponse';\r\n\r\nexport class ProfileResponse {\r\n id: string;\r\n name: string;\r\n email: string;\r\n emailVerified: boolean;\r\n masterPasswordHint: string;\r\n premium: boolean;\r\n culture: string;\r\n twoFactorEnabled: boolean;\r\n key: string;\r\n privateKey: string;\r\n securityStamp: string;\r\n organizations: ProfileOrganizationResponse[] = [];\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.name = response.Name;\r\n this.email = response.Email;\r\n this.emailVerified = response.EmailVerified;\r\n this.masterPasswordHint = response.MasterPasswordHint;\r\n this.premium = response.Premium;\r\n this.culture = response.Culture;\r\n this.twoFactorEnabled = response.TwoFactorEnabled;\r\n this.key = response.Key;\r\n this.privateKey = response.PrivateKey;\r\n this.securityStamp = response.SecurityStamp;\r\n\r\n if (response.Organizations) {\r\n response.Organizations.forEach((org: any) => {\r\n this.organizations.push(new ProfileOrganizationResponse(org));\r\n });\r\n }\r\n }\r\n}\r\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationResponse {\n id: string;\n name: string;\n businessName: string;\n businessAddress1: string;\n businessAddress2: string;\n businessAddress3: string;\n businessCountry: string;\n businessTaxNumber: string;\n billingEmail: string;\n plan: string;\n planType: PlanType;\n seats: number;\n maxCollections: number;\n maxStorageGb: number;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.name = response.Name;\n this.businessName = response.BusinessName;\n this.businessAddress1 = response.BusinessAddress1;\n this.businessAddress2 = response.BusinessAddress2;\n this.businessAddress3 = response.BusinessAddress3;\n this.businessCountry = response.BusinessCountry;\n this.businessTaxNumber = response.BusinessTaxNumber;\n this.billingEmail = response.BillingEmail;\n this.plan = response.Plan;\n this.planType = response.PlanType;\n this.seats = response.Seats;\n this.maxCollections = response.MaxCollections;\n this.maxStorageGb = response.MaxStorageGb;\n this.useGroups = response.UseGroups;\n this.useDirectory = response.UseDirectory;\n this.useEvents = response.UseEvents;\n this.useTotp = response.UseTotp;\n this.use2fa = response.Use2fa;\n }\n}\n","export class FolderResponse {\r\n id: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.name = response.Name;\r\n this.revisionDate = response.RevisionDate;\r\n }\r\n}\r\n","import { GlobalDomainResponse } from './globalDomainResponse';\r\n\r\nexport class DomainsResponse {\r\n equivalentDomains: string[][];\r\n globalEquivalentDomains: GlobalDomainResponse[] = [];\r\n\r\n constructor(response: any) {\r\n this.equivalentDomains = response.EquivalentDomains;\r\n\r\n this.globalEquivalentDomains = [];\r\n if (response.GlobalEquivalentDomains) {\r\n response.GlobalEquivalentDomains.forEach((domain: any) => {\r\n this.globalEquivalentDomains.push(new GlobalDomainResponse(domain));\r\n });\r\n }\r\n }\r\n}\r\n","import { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class CollectionResponse {\n id: string;\n organizationId: string;\n name: string;\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.name = response.Name;\n }\n}\n\nexport class CollectionDetailsResponse extends CollectionResponse {\n readOnly: boolean;\n\n constructor(response: any) {\n super(response);\n this.readOnly = response.ReadOnly || false;\n }\n}\n\nexport class CollectionGroupDetailsResponse extends CollectionResponse {\n groups: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Groups != null) {\n this.groups = response.Groups.map((g: any) => new SelectionReadOnlyResponse(g));\n }\n }\n}\n","import { AttachmentResponse } from './attachmentResponse';\n\nimport { CardApi } from '../api/cardApi';\nimport { FieldApi } from '../api/fieldApi';\nimport { IdentityApi } from '../api/identityApi';\nimport { LoginApi } from '../api/loginApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class CipherResponse {\n id: string;\n organizationId: string;\n folderId: string;\n type: number;\n name: string;\n notes: string;\n fields: FieldApi[];\n login: LoginApi;\n card: CardApi;\n identity: IdentityApi;\n secureNote: SecureNoteApi;\n favorite: boolean;\n edit: boolean;\n organizationUseTotp: boolean;\n revisionDate: Date;\n attachments: AttachmentResponse[];\n collectionIds: string[];\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.folderId = response.FolderId || null;\n this.type = response.Type;\n this.name = response.Name;\n this.notes = response.Notes;\n this.favorite = response.Favorite || false;\n this.edit = response.Edit || true;\n this.organizationUseTotp = response.OrganizationUseTotp;\n this.revisionDate = new Date(response.RevisionDate);\n\n if (response.Login != null) {\n this.login = new LoginApi(response.Login);\n }\n\n if (response.Card != null) {\n this.card = new CardApi(response.Card);\n }\n\n if (response.Identity != null) {\n this.identity = new IdentityApi(response.Identity);\n }\n\n if (response.SecureNote != null) {\n this.secureNote = new SecureNoteApi(response.SecureNote);\n }\n\n if (response.Fields != null) {\n this.fields = [];\n response.Fields.forEach((field: any) => {\n this.fields.push(new FieldApi(field));\n });\n }\n\n if (response.Attachments != null) {\n this.attachments = [];\n response.Attachments.forEach((attachment: any) => {\n this.attachments.push(new AttachmentResponse(attachment));\n });\n }\n\n if (response.CollectionIds) {\n this.collectionIds = [];\n response.CollectionIds.forEach((id: string) => {\n this.collectionIds.push(id);\n });\n }\n }\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\n\nexport class BillingResponse {\n storageName: string;\n storageGb: number;\n maxStorageGb: number;\n paymentSource: BillingSourceResponse;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingInvoiceResponse;\n charges: BillingChargeResponse[] = [];\n license: any;\n expiration: Date;\n\n constructor(response: any) {\n this.storageName = response.StorageName;\n this.storageGb = response.StorageGb;\n this.maxStorageGb = response.MaxStorageGb;\n this.paymentSource = response.PaymentSource == null ? null : new BillingSourceResponse(response.PaymentSource);\n this.subscription = response.Subscription == null ?\n null : new BillingSubscriptionResponse(response.Subscription);\n this.upcomingInvoice = response.UpcomingInvoice == null ?\n null : new BillingInvoiceResponse(response.UpcomingInvoice);\n if (response.Charges != null) {\n this.charges = response.Charges.map((c: any) => new BillingChargeResponse(c));\n }\n this.license = response.License;\n this.expiration = response.Expiration;\n }\n}\n\nexport class BillingSourceResponse {\n type: PaymentMethodType;\n cardBrand: string;\n description: string;\n needsVerification: boolean;\n\n constructor(response: any) {\n this.type = response.Type;\n this.cardBrand = response.CardBrand;\n this.description = response.Description;\n this.needsVerification = response.NeedsVerification;\n }\n}\n\nexport class BillingSubscriptionResponse {\n trialStartDate: Date;\n trialEndDate: Date;\n periodStartDate: Date;\n periodEndDate: Date;\n cancelledDate: Date;\n cancelAtEndDate: boolean;\n status: string;\n cancelled: boolean;\n items: BillingSubscriptionItemResponse[] = [];\n\n constructor(response: any) {\n this.trialEndDate = response.TrialStartDate;\n this.trialEndDate = response.TrialEndDate;\n this.periodStartDate = response.PeriodStartDate;\n this.periodEndDate = response.PeriodEndDate;\n this.cancelledDate = response.CancelledDate;\n this.cancelAtEndDate = response.CancelAtEndDate;\n this.status = response.Status;\n this.cancelled = response.Cancelled;\n if (response.Items != null) {\n this.items = response.Items.map((i: any) => new BillingSubscriptionItemResponse(i));\n }\n }\n}\n\nexport class BillingSubscriptionItemResponse {\n name: string;\n amount: number;\n quantity: number;\n interval: string;\n\n constructor(response: any) {\n this.name = response.Name;\n this.amount = response.Amount;\n this.quantity = response.Quantity;\n this.interval = response.Interval;\n }\n}\n\nexport class BillingInvoiceResponse {\n date: Date;\n amount: number;\n\n constructor(response: any) {\n this.date = response.Date;\n this.amount = response.Amount;\n }\n}\n\nexport class BillingChargeResponse {\n createdDate: Date;\n amount: number;\n paymentSource: BillingSourceResponse;\n status: string;\n failureMessage: string;\n refunded: boolean;\n partiallyRefunded: boolean;\n refundedAmount: number;\n invoiceId: string;\n\n constructor(response: any) {\n this.createdDate = response.CreatedDate;\n this.amount = response.Amount;\n this.paymentSource = response.PaymentSource != null ? new BillingSourceResponse(response.PaymentSource) : null;\n this.status = response.Status;\n this.failureMessage = response.FailureMessage;\n this.refunded = response.Refunded;\n this.partiallyRefunded = response.PartiallyRefunded;\n this.refundedAmount = response.RefundedAmount;\n this.invoiceId = response.InvoiceId;\n }\n}\n","import { DeviceType } from '../enums/deviceType';\n\nimport { ApiService as ApiServiceAbstraction } from '../abstractions/api.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\n\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { CollectionUserResponse } from '../models/response/collectionUserResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { GroupUserResponse } from '../models/response/groupUserResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationBillingResponse } from '../models/response/organizationBillingResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport { TwoFactorU2fResponse } from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nexport class ApiService implements ApiServiceAbstraction {\n urlsSet: boolean = false;\n apiBaseUrl: string;\n identityBaseUrl: string;\n\n private deviceType: string;\n private isWebClient = false;\n private isDesktopClient = false;\n private usingBaseUrl = false;\n\n constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,\n private logoutCallback: (expired: boolean) => Promise) {\n const device = platformUtilsService.getDevice();\n this.deviceType = device.toString();\n this.isWebClient = device === DeviceType.IEBrowser || device === DeviceType.ChromeBrowser ||\n device === DeviceType.EdgeBrowser || device === DeviceType.FirefoxBrowser ||\n device === DeviceType.OperaBrowser || device === DeviceType.SafariBrowser ||\n device === DeviceType.UnknownBrowser || device === DeviceType.VivaldiBrowser;\n this.isDesktopClient = device === DeviceType.WindowsDesktop || device === DeviceType.MacOsDesktop ||\n device === DeviceType.LinuxDesktop;\n }\n\n setUrls(urls: EnvironmentUrls): void {\n this.urlsSet = true;\n\n if (urls.base != null) {\n this.usingBaseUrl = true;\n this.apiBaseUrl = urls.base + '/api';\n this.identityBaseUrl = urls.base + '/identity';\n return;\n }\n\n if (urls.api != null && urls.identity != null) {\n this.apiBaseUrl = urls.api;\n this.identityBaseUrl = urls.identity;\n return;\n }\n\n /* tslint:disable */\n // Local Dev\n //this.apiBaseUrl = 'http://localhost:4000';\n //this.identityBaseUrl = 'http://localhost:33656';\n\n // Production\n this.apiBaseUrl = 'https://api.bitwarden.com';\n this.identityBaseUrl = 'https://identity.bitwarden.com';\n /* tslint:enable */\n }\n\n // Auth APIs\n\n async postIdentityToken(request: TokenRequest): Promise {\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify(request.toIdentityToken(this.platformUtilsService.identityClientId)),\n credentials: this.getCredentials(),\n cache: 'no-cache',\n headers: new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n }),\n method: 'POST',\n }));\n\n let responseJson: any = null;\n const typeHeader = response.headers.get('content-type');\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\n responseJson = await response.json();\n }\n\n if (responseJson != null) {\n if (response.status === 200) {\n return new IdentityTokenResponse(responseJson);\n } else if (response.status === 400 && responseJson.TwoFactorProviders2 &&\n Object.keys(responseJson.TwoFactorProviders2).length) {\n await this.tokenService.clearTwoFactorToken(request.email);\n return new IdentityTwoFactorResponse(responseJson);\n }\n }\n\n return Promise.reject(new ErrorResponse(responseJson, response.status, true));\n }\n\n async refreshIdentityToken(): Promise {\n try {\n await this.doRefreshToken();\n } catch (e) {\n return Promise.reject(null);\n }\n }\n\n // Account APIs\n\n async getProfile(): Promise {\n const r = await this.send('GET', '/accounts/profile', null, true, true);\n return new ProfileResponse(r);\n }\n\n async getUserBilling(): Promise {\n const r = await this.send('GET', '/accounts/billing', null, true, true);\n return new BillingResponse(r);\n }\n\n async putProfile(request: UpdateProfileRequest): Promise {\n const r = await this.send('PUT', '/accounts/profile', request, true, true);\n return new ProfileResponse(r);\n }\n\n postEmailToken(request: EmailTokenRequest): Promise {\n return this.send('POST', '/accounts/email-token', request, true, false);\n }\n\n postEmail(request: EmailRequest): Promise {\n return this.send('POST', '/accounts/email', request, true, false);\n }\n\n postPassword(request: PasswordRequest): Promise {\n return this.send('POST', '/accounts/password', request, true, false);\n }\n\n postSecurityStamp(request: PasswordVerificationRequest): Promise {\n return this.send('POST', '/accounts/security-stamp', request, true, false);\n }\n\n deleteAccount(request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/accounts', request, true, false);\n }\n\n async getAccountRevisionDate(): Promise {\n const r = await this.send('GET', '/accounts/revision-date', null, true, true);\n return r as number;\n }\n\n postPasswordHint(request: PasswordHintRequest): Promise {\n return this.send('POST', '/accounts/password-hint', request, false, false);\n }\n\n postRegister(request: RegisterRequest): Promise {\n return this.send('POST', '/accounts/register', request, false, false);\n }\n\n postPremium(data: FormData): Promise {\n return this.send('POST', '/accounts/premium', data, true, false);\n }\n\n postReinstatePremium(): Promise {\n return this.send('POST', '/accounts/reinstate-premium', null, true, false);\n }\n\n postCancelPremium(): Promise {\n return this.send('POST', '/accounts/cancel-premium', null, true, false);\n }\n\n postAccountStorage(request: StorageRequest): Promise {\n return this.send('POST', '/accounts/storage', request, true, false);\n }\n\n postAccountPayment(request: PaymentRequest): Promise {\n return this.send('POST', '/accounts/payment', request, true, false);\n }\n\n postAccountLicense(data: FormData): Promise {\n return this.send('POST', '/accounts/license', data, true, false);\n }\n\n postAccountKeys(request: KeysRequest): Promise {\n return this.send('POST', '/accounts/keys', request, true, false);\n }\n\n postAccountKey(request: UpdateKeyRequest): Promise {\n return this.send('POST', '/accounts/key', request, true, false);\n }\n\n postAccountVerifyEmail(): Promise {\n return this.send('POST', '/accounts/verify-email', null, true, false);\n }\n\n postAccountVerifyEmailToken(request: VerifyEmailRequest): Promise {\n return this.send('POST', '/accounts/verify-email-token', request, false, false);\n }\n\n postAccountRecoverDelete(request: DeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover', request, false, false);\n }\n\n postAccountRecoverDeleteToken(request: VerifyDeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover-token', request, false, false);\n }\n\n // Folder APIs\n\n async postFolder(request: FolderRequest): Promise {\n const r = await this.send('POST', '/folders', request, true, true);\n return new FolderResponse(r);\n }\n\n async putFolder(id: string, request: FolderRequest): Promise {\n const r = await this.send('PUT', '/folders/' + id, request, true, true);\n return new FolderResponse(r);\n }\n\n deleteFolder(id: string): Promise {\n return this.send('DELETE', '/folders/' + id, null, true, false);\n }\n\n // Cipher APIs\n\n async getCipher(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id, null, true, true);\n return new CipherResponse(r);\n }\n\n async getCipherAdmin(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id + '/admin', null, true, true);\n return new CipherResponse(r);\n }\n\n async getCiphersOrganization(organizationId: string): Promise> {\n const r = await this.send('GET', '/ciphers/organization-details?organizationId=' + organizationId,\n null, true, true);\n return new ListResponse(r, CipherResponse);\n }\n\n async postCipher(request: CipherRequest): Promise {\n const r = await this.send('POST', '/ciphers', request, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAdmin(request: CipherRequest): Promise {\n const r = await this.send('POST', '/ciphers/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipher(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id, request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipherAdmin(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipher(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id, null, true, false);\n }\n\n deleteCipherAdmin(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/admin', null, true, false);\n }\n\n deleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\n return this.send('DELETE', '/ciphers', request, true, false);\n }\n\n putMoveCiphers(request: CipherBulkMoveRequest): Promise {\n return this.send('PUT', '/ciphers/move', request, true, false);\n }\n\n putShareCipher(id: string, request: CipherShareRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/share', request, true, false);\n }\n\n putShareCiphers(request: CipherBulkShareRequest): Promise {\n return this.send('PUT', '/ciphers/share', request, true, false);\n }\n\n putCipherCollections(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections', request, true, false);\n }\n\n putCipherCollectionsAdmin(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections-admin', request, true, false);\n }\n\n postPurgeCiphers(request: PasswordVerificationRequest): Promise {\n return this.send('POST', '/ciphers/purge', request, true, false);\n }\n\n postImportCiphers(request: ImportCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import', request, true, false);\n }\n\n postImportOrganizationCiphers(organizationId: string, request: ImportOrganizationCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import-organization?organizationId=' + organizationId, request, true, false);\n }\n\n // Attachments APIs\n\n async postCipherAttachment(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment', data, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAttachmentAdmin(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment-admin', data, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipherAttachment(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId, null, true, false);\n }\n\n deleteCipherAttachmentAdmin(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId + '/admin', null, true, false);\n }\n\n postShareCipherAttachment(id: string, attachmentId: string, data: FormData,\n organizationId: string): Promise {\n return this.send('POST', '/ciphers/' + id + '/attachment/' +\n attachmentId + '/share?organizationId=' + organizationId, data, true, false);\n }\n\n // Collections APIs\n\n async getCollectionDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/details',\n null, true, true);\n return new CollectionGroupDetailsResponse(r);\n }\n\n async getCollections(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections', null, true, true);\n return new ListResponse(r, CollectionResponse);\n }\n\n async getCollectionUsers(organizationId: string, id: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/users',\n null, true, true);\n return new ListResponse(r, CollectionUserResponse);\n }\n\n async postCollection(organizationId: string, request: CollectionRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/collections', request, true, true);\n return new CollectionResponse(r);\n }\n\n async putCollection(organizationId: string, id: string, request: CollectionRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id,\n request, true, true);\n return new CollectionResponse(r);\n }\n\n deleteCollection(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/collections/' + id, null, true, false);\n }\n\n deleteCollectionUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/collections/' + id + '/user/' + organizationUserId,\n null, true, false);\n }\n\n // Groups APIs\n\n async getGroupDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/details',\n null, true, true);\n return new GroupDetailsResponse(r);\n }\n\n async getGroups(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups', null, true, true);\n return new ListResponse(r, GroupResponse);\n }\n\n async getGroupUsers(organizationId: string, id: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/users',\n null, true, true);\n return new ListResponse(r, GroupUserResponse);\n }\n\n async postGroup(organizationId: string, request: GroupRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/groups', request, true, true);\n return new GroupResponse(r);\n }\n\n async putGroup(organizationId: string, id: string, request: GroupRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id, request, true, true);\n return new GroupResponse(r);\n }\n\n deleteGroup(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/groups/' + id, null, true, false);\n }\n\n deleteGroupUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/groups/' + id + '/user/' + organizationUserId, null, true, false);\n }\n\n // Organization User APIs\n\n async getOrganizationUser(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id, null, true, true);\n return new OrganizationUserDetailsResponse(r);\n }\n\n async getOrganizationUserGroups(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id + '/groups',\n null, true, true);\n return r;\n }\n\n async getOrganizationUsers(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users', null, true, true);\n return new ListResponse(r, OrganizationUserUserDetailsResponse);\n }\n\n postOrganizationUserInvite(organizationId: string, request: OrganizationUserInviteRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/invite', request, true, false);\n }\n\n postOrganizationUserReinvite(organizationId: string, id: string): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false);\n }\n\n postOrganizationUserAccept(organizationId: string, id: string,\n request: OrganizationUserAcceptRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/accept', request, true, false);\n }\n\n postOrganizationUserConfirm(organizationId: string, id: string,\n request: OrganizationUserConfirmRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/confirm',\n request, true, false);\n }\n\n putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false);\n }\n\n putOrganizationUserGroups(organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id + '/groups', request, true, false);\n }\n\n deleteOrganizationUser(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false);\n }\n\n // Sync APIs\n\n async getSync(): Promise {\n const path = this.isDesktopClient || this.isWebClient ? '/sync?excludeDomains=true' : '/sync';\n const r = await this.send('GET', path, null, true, true);\n return new SyncResponse(r);\n }\n\n async postImportDirectory(organizationId: string, request: ImportDirectoryRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/import', request, true, false);\n }\n\n // Settings APIs\n\n async getSettingsDomains(): Promise {\n const r = await this.send('GET', '/settings/domains', null, true, true);\n return new DomainsResponse(r);\n }\n\n async putSettingsDomains(request: UpdateDomainsRequest): Promise {\n const r = await this.send('PUT', '/settings/domains', request, true, true);\n return new DomainsResponse(r);\n }\n\n // Two-factor APIs\n\n async getTwoFactorProviders(): Promise> {\n const r = await this.send('GET', '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorOrganizationProviders(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async getTwoFactorEmail(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async getTwoFactorDuo(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorOrganizationDuo(organizationId: string,\n request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo',\n request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async getTwoFactorU2f(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async getTwoFactorRecover(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-recover', request, true, true);\n return new TwoFactorRecoverResponse(r);\n }\n\n async putTwoFactorAuthenticator(\n request: UpdateTwoFactorAuthenticatorRequest): Promise {\n const r = await this.send('PUT', '/two-factor/authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async putTwoFactorEmail(request: UpdateTwoFactorEmailRequest): Promise {\n const r = await this.send('PUT', '/two-factor/email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async putTwoFactorDuo(request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorOrganizationDuo(organizationId: string,\n request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise {\n const r = await this.send('PUT', '/two-factor/yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async putTwoFactorU2f(request: UpdateTwoFactorU2fRequest): Promise {\n const r = await this.send('PUT', '/two-factor/u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async putTwoFactorDisable(request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/two-factor/disable', request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n async putTwoFactorOrganizationDisable(organizationId: string,\n request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable',\n request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise {\n return this.send('POST', '/two-factor/recover', request, false, false);\n }\n\n postTwoFactorEmailSetup(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email', request, true, false);\n }\n\n postTwoFactorEmail(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email-login', request, false, false);\n }\n\n // Organization APIs\n\n async getOrganization(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id, null, true, true);\n return new OrganizationResponse(r);\n }\n\n async getOrganizationBilling(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/billing', null, true, true);\n return new OrganizationBillingResponse(r);\n }\n\n async getOrganizationLicense(id: string, installationId: string): Promise {\n return this.send('GET', '/organizations/' + id + '/license?installationId=' + installationId,\n null, true, true);\n }\n\n async postOrganization(request: OrganizationCreateRequest): Promise {\n const r = await this.send('POST', '/organizations', request, true, true);\n return new OrganizationResponse(r);\n }\n\n async putOrganization(id: string, request: OrganizationUpdateRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + id, request, true, true);\n return new OrganizationResponse(r);\n }\n\n postLeaveOrganization(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/leave', null, true, false);\n }\n\n async postOrganizationLicense(data: FormData): Promise {\n const r = await this.send('POST', '/organizations/license', data, true, true);\n return new OrganizationResponse(r);\n }\n\n async postOrganizationLicenseUpdate(id: string, data: FormData): Promise {\n return this.send('POST', '/organizations/' + id + '/license', data, true, false);\n }\n\n postOrganizationSeat(id: string, request: SeatRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/seat', request, true, false);\n }\n\n postOrganizationStorage(id: string, request: StorageRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/storage', request, true, false);\n }\n\n postOrganizationPayment(id: string, request: PaymentRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/payment', request, true, false);\n }\n\n postOrganizationVerifyBank(id: string, request: VerifyBankRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/verify-bank', request, true, false);\n }\n\n postOrganizationCancel(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/cancel', null, true, false);\n }\n\n postOrganizationReinstate(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/reinstate', null, true, false);\n }\n\n deleteOrganization(id: string, request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/organizations/' + id, request, true, false);\n }\n\n // Event APIs\n\n async getEvents(start: string, end: string, token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/events', start, end, token), null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsCipher(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/ciphers/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganization(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/organizations/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganizationUser(organizationId: string, id: string,\n start: string, end: string, token: string): Promise> {\n const r = await this.send('GET',\n this.addEventParameters('/organizations/' + organizationId + '/users/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n // User APIs\n\n async getUserPublicKey(id: string): Promise {\n const r = await this.send('GET', '/users/' + id + '/public-key', null, true, true);\n return new UserKeyResponse(r);\n }\n\n // Helpers\n\n fetch(request: Request): Promise {\n if (request.method === 'GET') {\n request.headers.set('Cache-Control', 'no-cache');\n request.headers.set('Pragma', 'no-cache');\n }\n return fetch(request);\n }\n\n private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any,\n authed: boolean, hasResponse: boolean): Promise {\n const headers = new Headers({\n 'Device-Type': this.deviceType,\n });\n\n const requestInit: RequestInit = {\n cache: 'no-cache',\n credentials: this.getCredentials(),\n method: method,\n };\n\n if (authed) {\n const authHeader = await this.handleTokenState();\n headers.set('Authorization', authHeader);\n }\n if (body != null) {\n if (typeof body === 'string') {\n requestInit.body = body;\n headers.set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');\n } else if (typeof body === 'object') {\n if (body instanceof FormData) {\n requestInit.body = body;\n } else {\n headers.set('Content-Type', 'application/json; charset=utf-8');\n requestInit.body = JSON.stringify(body);\n }\n }\n }\n if (hasResponse) {\n headers.set('Accept', 'application/json');\n }\n\n requestInit.headers = headers;\n const response = await this.fetch(new Request(this.apiBaseUrl + path, requestInit));\n\n if (hasResponse && response.status === 200) {\n const responseJson = await response.json();\n return responseJson;\n } else if (response.status !== 200) {\n const error = await this.handleError(response, false);\n return Promise.reject(error);\n }\n }\n\n private async handleError(response: Response, tokenError: boolean): Promise {\n if ((tokenError && response.status === 400) || response.status === 401 || response.status === 403) {\n await this.logoutCallback(true);\n return null;\n }\n\n let responseJson: any = null;\n const typeHeader = response.headers.get('content-type');\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\n responseJson = await response.json();\n }\n\n return new ErrorResponse(responseJson, response.status, tokenError);\n }\n\n private async handleTokenState(): Promise {\n let accessToken = await this.tokenService.getToken();\n if (this.tokenService.tokenNeedsRefresh()) {\n const tokenResponse = await this.doRefreshToken();\n accessToken = tokenResponse.accessToken;\n }\n\n return 'Bearer ' + accessToken;\n }\n\n private async doRefreshToken(): Promise {\n const refreshToken = await this.tokenService.getRefreshToken();\n if (refreshToken == null || refreshToken === '') {\n throw new Error();\n }\n\n const decodedToken = this.tokenService.decodeToken();\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify({\n grant_type: 'refresh_token',\n client_id: decodedToken.client_id,\n refresh_token: refreshToken,\n }),\n cache: 'no-cache',\n credentials: this.getCredentials(),\n headers: new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n }),\n method: 'POST',\n }));\n\n if (response.status === 200) {\n const responseJson = await response.json();\n const tokenResponse = new IdentityTokenResponse(responseJson);\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n return tokenResponse;\n } else {\n const error = await this.handleError(response, true);\n return Promise.reject(error);\n }\n }\n\n private qsStringify(params: any): string {\n return Object.keys(params).map((key) => {\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\n }).join('&');\n }\n\n private getCredentials(): RequestCredentials {\n if (!this.isWebClient || this.usingBaseUrl) {\n return 'include';\n }\n return undefined;\n }\n\n private addEventParameters(base: string, start: string, end: string, token: string) {\n if (start != null) {\n base += ('?start=' + start);\n }\n if (end != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('end=' + end);\n }\n if (token != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('continuationToken=' + token);\n }\n return base;\n }\n}\n","import {\r\n Directive,\r\n ElementRef,\r\n forwardRef,\r\n HostListener,\r\n Input,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n NgControl,\r\n} from '@angular/forms';\r\n\r\n// ref: https://juristr.com/blog/2018/02/ng-true-value-directive/\r\n@Directive({\r\n selector: 'input[type=checkbox][appTrueFalseValue]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TrueFalseValueDirective),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TrueFalseValueDirective implements ControlValueAccessor {\r\n @Input() trueValue = true;\r\n @Input() falseValue = false;\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('change', ['$event'])\r\n onHostChange(ev: any) {\r\n this.propagateChange(ev.target.checked ? this.trueValue : this.falseValue);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj === this.trueValue) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\r\n } else {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void { /* nothing */ }\r\n\r\n setDisabledState?(isDisabled: boolean): void { /* nothing */ }\r\n\r\n private propagateChange = (_: any) => { /* nothing */ };\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appBoxRow]',\r\n})\r\nexport class BoxRowDirective implements OnInit {\r\n el: HTMLElement = null;\r\n formEls: Element[];\r\n\r\n constructor(private elRef: ElementRef) {\r\n this.el = elRef.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formEls = Array.from(this.el.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\r\n this.formEls.forEach((formEl) => {\r\n formEl.addEventListener('focus', (event: Event) => {\r\n this.el.classList.add('active');\r\n }, false);\r\n\r\n formEl.addEventListener('blur', (event: Event) => {\r\n this.el.classList.remove('active');\r\n }, false);\r\n });\r\n }\r\n\r\n @HostListener('click', ['$event']) onClick(event: Event) {\r\n if (event.target !== this.el) {\r\n return;\r\n }\r\n\r\n if (this.formEls.length > 0) {\r\n const formEl = (this.formEls[0] as HTMLElement);\r\n if (formEl.tagName.toLowerCase() === 'input') {\r\n const inputEl = (formEl as HTMLInputElement);\r\n if (inputEl.type != null && inputEl.type.toLowerCase() === 'checkbox') {\r\n inputEl.click();\r\n return;\r\n }\r\n }\r\n formEl.focus();\r\n }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { SeatRequest } from 'jslib/models/request/seatRequest';\n\n@Component({\n selector: 'app-adjust-seats',\n templateUrl: 'adjust-seats.component.html',\n})\nexport class AdjustSeatsComponent {\n @Input() seatPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n seatAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new SeatRequest();\n request.seatAdjustment = this.seatAdjustment;\n if (!this.add) {\n request.seatAdjustment *= -1;\n }\n\n this.formPromise = this.apiService.postOrganizationSeat(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Seats' : 'Removed Seats' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedSeats', request.seatAdjustment.toString()));\n this.onAdjusted.emit(this.seatAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedSeatTotal(): number {\n return this.seatAdjustment * this.seatAdjustment;\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-organization',\n templateUrl: 'delete-organization.component.html',\n})\nexport class DeleteOrganizationComponent {\n organizationId: string;\n\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteOrganization(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationDeleted'),\n this.i18nService.t('organizationDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { OrganizationUserUpdateGroupsRequest } from 'jslib/models/request/organizationUserUpdateGroupsRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-groups',\n templateUrl: 'user-groups.component.html',\n})\nexport class UserGroupsComponent implements OnInit {\n @Input() name: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onSavedUser = new EventEmitter();\n\n loading = true;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n const groups = groupsResponse.data.map((r) => r);\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n\n try {\n const userGroups = await this.apiService.getOrganizationUserGroups(\n this.organizationId, this.organizationUserId);\n if (userGroups != null && this.groups != null) {\n userGroups.forEach((ug) => {\n const group = this.groups.filter((g) => g.id === ug);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n }\n });\n }\n } catch { }\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new OrganizationUserUpdateGroupsRequest();\n request.groupIds = this.groups.filter((g) => (g as any).checked).map((g) => g.id);\n\n try {\n this.formPromise = this.apiService.putOrganizationUserGroups(this.organizationId, this.organizationUserId,\n request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Edited User Groups' });\n this.toasterService.popAsync('success', null, this.i18nService.t('editedGroupsForUser', this.name));\n this.onSavedUser.emit();\n } catch { }\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { OrganizationUserInviteRequest } from 'jslib/models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateRequest } from 'jslib/models/request/organizationUserUpdateRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Component({\r\n selector: 'app-user-add-edit',\r\n templateUrl: 'user-add-edit.component.html',\r\n})\r\nexport class UserAddEditComponent implements OnInit {\r\n @Input() name: string;\r\n @Input() organizationUserId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedUser = new EventEmitter();\r\n @Output() onDeletedUser = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n emails: string;\r\n type: OrganizationUserType = OrganizationUserType.User;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n organizationUserType = OrganizationUserType;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.organizationUserId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editUser');\r\n try {\r\n const user = await this.apiService.getOrganizationUser(this.organizationId, this.organizationUserId);\r\n this.access = user.accessAll ? 'all' : 'selected';\r\n this.type = user.type;\r\n if (user.collections != null && this.collections != null) {\r\n user.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('inviteUser');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n let collections: SelectionReadOnlyRequest[] = null;\r\n if (this.access !== 'all') {\r\n collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n const request = new OrganizationUserUpdateRequest();\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.putOrganizationUser(this.organizationId, this.organizationUserId,\r\n request);\r\n } else {\r\n const request = new OrganizationUserInviteRequest();\r\n request.emails = this.emails.trim().split(/\\s*,\\s*/);\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.postOrganizationUserInvite(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited User' : 'Invited User' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\r\n this.onSavedUser.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('removeUserConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteOrganizationUser(this.organizationId, this.organizationUserId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted User' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', this.name));\r\n this.onDeletedUser.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { GroupRequest } from 'jslib/models/request/groupRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\n@Component({\r\n selector: 'app-group-add-edit',\r\n templateUrl: 'group-add-edit.component.html',\r\n})\r\nexport class GroupAddEditComponent implements OnInit {\r\n @Input() groupId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedGroup = new EventEmitter();\r\n @Output() onDeletedGroup = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n name: string;\r\n externalId: string;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.groupId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editGroup');\r\n try {\r\n const group = await this.apiService.getGroupDetails(this.organizationId, this.groupId);\r\n this.access = group.accessAll ? 'all' : 'selected';\r\n this.name = group.name;\r\n this.externalId = group.externalId;\r\n if (group.collections != null && this.collections != null) {\r\n group.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('addGroup');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n const request = new GroupRequest();\r\n request.name = this.name;\r\n request.externalId = this.externalId;\r\n request.accessAll = this.access === 'all';\r\n if (!request.accessAll) {\r\n request.collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n this.formPromise = this.apiService.putGroup(this.organizationId, this.groupId, request);\r\n } else {\r\n this.formPromise = this.apiService.postGroup(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Group' : 'Created Group' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedGroupId' : 'createdGroupId', this.name));\r\n this.onSavedGroup.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteGroupConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteGroup(this.organizationId, this.groupId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', this.name));\r\n this.onDeletedGroup.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-collection-add-edit',\n templateUrl: 'collection-add-edit.component.html',\n})\nexport class CollectionAddEditComponent implements OnInit {\n @Input() collectionId: string;\n @Input() organizationId: string;\n @Output() onSavedCollection = new EventEmitter();\n @Output() onDeletedCollection = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n title: string;\n name: string;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n\n private orgKey: SymmetricCryptoKey;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.collectionId != null;\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n this.groups = groupsResponse.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editCollection');\n try {\n const collection = await this.apiService.getCollectionDetails(this.organizationId, this.collectionId);\n this.name = await this.cryptoService.decryptToUtf8(new CipherString(collection.name), this.orgKey);\n if (collection.groups != null && this.groups != null) {\n collection.groups.forEach((s) => {\n const group = this.groups.filter((g) => !g.accessAll && g.id === s.id);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n (group[0] as any).readOnly = s.readOnly;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('addCollection');\n }\n\n this.groups.forEach((g) => {\n if (g.accessAll) {\n (g as any).checked = true;\n }\n });\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n if (g.accessAll) {\n return;\n }\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new CollectionRequest();\n request.name = (await this.cryptoService.encrypt(this.name, this.orgKey)).encryptedString;\n request.groups = this.groups.filter((g) => (g as any).checked && !g.accessAll)\n .map((g) => new SelectionReadOnlyRequest(g.id, !!(g as any).readOnly));\n\n try {\n if (this.editMode) {\n this.formPromise = this.apiService.putCollection(this.organizationId, this.collectionId, request);\n } else {\n this.formPromise = this.apiService.postCollection(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Collection' : 'Created Collection' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedCollectionId' : 'createdCollectionId', this.name));\n this.onSavedCollection.emit();\n } catch { }\n }\n\n async delete() {\n if (!this.editMode) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), this.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.apiService.deleteCollection(this.organizationId, this.collectionId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', this.name));\n this.onDeletedCollection.emit();\n } catch { }\n }\n}\n","import { Collection } from '../domain/collection';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class CollectionRequest {\n name: string;\n groups: SelectionReadOnlyRequest[] = [];\n\n constructor(collection?: Collection) {\n if (collection == null) {\n return;\n }\n this.name = collection.name ? collection.name.encryptedString : null;\n }\n}\n","export class CipherCollectionsRequest {\n collectionIds: string[];\n\n constructor(collectionIds: string[]) {\n this.collectionIds = collectionIds == null ? [] : collectionIds;\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CipherData } from 'jslib/models/data/cipherData';\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CipherCollectionsRequest } from 'jslib/models/request/cipherCollectionsRequest';\r\n\r\nimport { CollectionsComponent as BaseCollectionsComponent } from '../../vault/collections.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-collections',\r\n templateUrl: '../../vault/collections.component.html',\r\n})\r\nexport class CollectionsComponent extends BaseCollectionsComponent {\r\n organization: Organization;\r\n\r\n constructor(collectionService: CollectionService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cipherService: CipherService, private apiService: ApiService) {\r\n super(collectionService, analytics, toasterService, i18nService, cipherService);\r\n }\r\n\r\n protected async loadCipher() {\r\n if (!this.organization.isAdmin) {\r\n return await super.loadCipher();\r\n }\r\n const response = await this.apiService.getCipherAdmin(this.cipherId);\r\n return new Cipher(new CipherData(response));\r\n }\r\n\r\n protected loadCipherCollections() {\r\n if (!this.organization.isAdmin) {\r\n return super.loadCipherCollections();\r\n }\r\n return this.collectionIds;\r\n }\r\n\r\n protected loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n return super.loadCollections();\r\n }\r\n return Promise.resolve(this.collections);\r\n }\r\n\r\n protected saveCollections() {\r\n const request = new CipherCollectionsRequest(this.cipherDomain.collectionIds);\r\n return this.apiService.putCipherCollectionsAdmin(this.cipherId, request);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { CipherData } from 'jslib/models/data/cipherData';\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from '../../vault/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-attachments',\r\n templateUrl: '../../vault/attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n organization: Organization;\r\n\r\n constructor(cipherService: CipherService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cryptoService: CryptoService, tokenService: TokenService,\r\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\r\n super(cipherService, analytics, toasterService, i18nService, cryptoService, tokenService,\r\n platformUtilsService);\r\n }\r\n\r\n protected async loadCipher() {\r\n if (!this.organization.isAdmin) {\r\n return await super.loadCipher();\r\n }\r\n const response = await this.apiService.getCipherAdmin(this.cipherId);\r\n return new Cipher(new CipherData(response));\r\n }\r\n\r\n protected saveCipherAttachment(file: File) {\r\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file, this.organization.isAdmin);\r\n }\r\n\r\n protected deleteCipherAttachment(attachmentId: string) {\r\n if (!this.organization.isAdmin) {\r\n return super.deleteCipherAttachment(attachmentId);\r\n }\r\n return this.apiService.deleteCipherAttachmentAdmin(this.cipherId, attachmentId);\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\n\nimport { AddEditComponent as BaseAddEditComponent } from '../../vault/add-edit.component';\n\n@Component({\n selector: 'app-org-vault-add-edit',\n templateUrl: '../../vault/add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent implements OnInit {\n organization: Organization;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n analytics: Angulartics2, toasterService: ToasterService,\n auditService: AuditService, stateService: StateService,\n tokenService: TokenService, totpService: TotpService,\n passwordGenerationService: PasswordGenerationService, private apiService: ApiService,\n messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, analytics,\n toasterService, auditService, stateService, tokenService, totpService, passwordGenerationService,\n messagingService);\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected encryptCipher() {\n if (!this.editMode) {\n this.cipher.organizationId = this.organization.id;\n }\n return super.encryptCipher();\n }\n\n protected async saveCipher(cipher: Cipher) {\n if (!this.organization.isAdmin) {\n return super.saveCipher(cipher);\n }\n const request = new CipherRequest(cipher);\n if (this.editMode) {\n return this.apiService.putCipherAdmin(this.cipherId, request);\n } else {\n return this.apiService.postCipherAdmin(request);\n }\n }\n\n protected async deleteCipher() {\n if (!this.organization.isAdmin) {\n return super.deleteCipher();\n }\n return this.apiService.deleteCipherAdmin(this.cipherId);\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteData } from '../data/secureNoteData';\n\nimport Domain from './domain';\n\nimport { SecureNoteView } from '../view/secureNoteView';\n\nexport class SecureNote extends Domain {\n type: SecureNoteType;\n\n constructor(obj?: SecureNoteData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n }\n\n decrypt(orgId: string): Promise {\n return Promise.resolve(new SecureNoteView(this));\n }\n\n toSecureNoteData(): SecureNoteData {\n const n = new SecureNoteData();\n n.type = this.type;\n return n;\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriData } from '../data/loginUriData';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class LoginUri extends Domain {\n uri: CipherString;\n match: UriMatchType;\n\n constructor(obj?: LoginUriData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.match = obj.match;\n this.buildDomainModel(this, obj, {\n uri: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new LoginUriView(this), {\n uri: null,\n }, orgId);\n }\n\n toLoginUriData(): LoginUriData {\n const u = new LoginUriData();\n this.buildDataModel(this, u, {\n uri: null,\n }, ['match']);\n return u;\n }\n}\n","import { LoginUri } from './loginUri';\n\nimport { LoginData } from '../data/loginData';\n\nimport { LoginUriView } from '../view/loginUriView';\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class Login extends Domain {\n uris: LoginUri[];\n username: CipherString;\n password: CipherString;\n totp: CipherString;\n\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n username: null,\n password: null,\n totp: null,\n }, alreadyEncrypted, []);\n\n if (obj.uris) {\n this.uris = [];\n obj.uris.forEach((u) => {\n this.uris.push(new LoginUri(u, alreadyEncrypted));\n });\n }\n }\n\n async decrypt(orgId: string): Promise {\n const view = await this.decryptObj(new LoginView(this), {\n username: null,\n password: null,\n totp: null,\n }, orgId);\n\n if (this.uris != null) {\n view.uris = [];\n for (let i = 0; i < this.uris.length; i++) {\n const uri = await this.uris[i].decrypt(orgId);\n view.uris.push(uri);\n }\n }\n\n return view;\n }\n\n toLoginData(): LoginData {\n const l = new LoginData();\n this.buildDataModel(this, l, {\n username: null,\n password: null,\n totp: null,\n });\n\n if (this.uris != null && this.uris.length > 0) {\n l.uris = [];\n this.uris.forEach((u) => {\n l.uris.push(u.toLoginUriData());\n });\n }\n\n return l;\n }\n}\n","import { IdentityData } from '../data/identityData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { IdentityView } from '../view/identityView';\n\nexport class Identity extends Domain {\n title: CipherString;\n firstName: CipherString;\n middleName: CipherString;\n lastName: CipherString;\n address1: CipherString;\n address2: CipherString;\n address3: CipherString;\n city: CipherString;\n state: CipherString;\n postalCode: CipherString;\n country: CipherString;\n company: CipherString;\n email: CipherString;\n phone: CipherString;\n ssn: CipherString;\n username: CipherString;\n passportNumber: CipherString;\n licenseNumber: CipherString;\n\n constructor(obj?: IdentityData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new IdentityView(this), {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, orgId);\n }\n\n toIdentityData(): IdentityData {\n const i = new IdentityData();\n this.buildDataModel(this, i, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n });\n return i;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldData } from '../data/fieldData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { FieldView } from '../view/fieldView';\n\nexport class Field extends Domain {\n name: CipherString;\n value: CipherString;\n type: FieldType;\n\n constructor(obj?: FieldData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n this.buildDomainModel(this, obj, {\n name: null,\n value: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new FieldView(this), {\n name: null,\n value: null,\n }, orgId);\n }\n\n toFieldData(): FieldData {\n const f = new FieldData();\n this.buildDataModel(this, f, {\n name: null,\n value: null,\n type: null,\n }, ['type']);\n return f;\n }\n}\n","import { CardData } from '../data/cardData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { CardView } from '../view/cardView';\n\nexport class Card extends Domain {\n cardholderName: CipherString;\n brand: CipherString;\n number: CipherString;\n expMonth: CipherString;\n expYear: CipherString;\n code: CipherString;\n\n constructor(obj?: CardData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new CardView(this), {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, orgId);\n }\n\n toCardData(): CardData {\n const c = new CardData();\n this.buildDataModel(this, c, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n });\n return c;\n }\n}\n","import { AttachmentData } from '../data/attachmentData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { AttachmentView } from '../view/attachmentView';\n\nexport class Attachment extends Domain {\n id: string;\n url: string;\n size: number;\n sizeName: string;\n fileName: CipherString;\n\n constructor(obj?: AttachmentData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.size = obj.size;\n this.buildDomainModel(this, obj, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new AttachmentView(this), {\n fileName: null,\n }, orgId);\n }\n\n toAttachmentData(): AttachmentData {\n const a = new AttachmentData();\n this.buildDataModel(this, a, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n }, ['id', 'url', 'sizeName']);\n return a;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class SecureNoteData {\n type: SecureNoteType;\n\n constructor(data?: SecureNoteApi) {\n if (data == null) {\n return;\n }\n\n this.type = data.type;\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriApi } from '../api/loginUriApi';\n\nexport class LoginUriData {\n uri: string;\n match: UriMatchType = null;\n\n constructor(data?: LoginUriApi) {\n if (data == null) {\n return;\n }\n this.uri = data.uri;\n this.match = data.match;\n }\n}\n","import { LoginApi } from '../api/loginApi';\nimport { LoginUriApi } from '../api/loginUriApi';\n\nimport { LoginUriData } from './loginUriData';\n\nexport class LoginData {\n uris: LoginUriData[];\n username: string;\n password: string;\n totp: string;\n\n constructor(data?: LoginApi) {\n if (data == null) {\n return;\n }\n\n this.username = data.username;\n this.password = data.password;\n this.totp = data.totp;\n\n if (data.uris) {\n this.uris = [];\n data.uris.forEach((u) => {\n this.uris.push(new LoginUriData(u));\n });\n }\n }\n}\n","import { IdentityApi } from '../api/identityApi';\n\nexport class IdentityData {\n title: string;\n firstName: string;\n middleName: string;\n lastName: string;\n address1: string;\n address2: string;\n address3: string;\n city: string;\n state: string;\n postalCode: string;\n country: string;\n company: string;\n email: string;\n phone: string;\n ssn: string;\n username: string;\n passportNumber: string;\n licenseNumber: string;\n\n constructor(data?: IdentityApi) {\n if (data == null) {\n return;\n }\n\n this.title = data.title;\n this.firstName = data.firstName;\n this.middleName = data.middleName;\n this.lastName = data.lastName;\n this.address1 = data.address1;\n this.address2 = data.address2;\n this.address3 = data.address3;\n this.city = data.city;\n this.state = data.state;\n this.postalCode = data.postalCode;\n this.country = data.country;\n this.company = data.company;\n this.email = data.email;\n this.phone = data.phone;\n this.ssn = data.ssn;\n this.username = data.username;\n this.passportNumber = data.passportNumber;\n this.licenseNumber = data.licenseNumber;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldApi } from '../api/fieldApi';\n\nexport class FieldData {\n type: FieldType;\n name: string;\n value: string;\n\n constructor(response?: FieldApi) {\n if (response == null) {\n return;\n }\n this.type = response.type;\n this.name = response.name;\n this.value = response.value;\n }\n}\n","import { CardApi } from '../api/cardApi';\n\nexport class CardData {\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(data?: CardApi) {\n if (data == null) {\n return;\n }\n\n this.cardholderName = data.cardholderName;\n this.brand = data.brand;\n this.number = data.number;\n this.expMonth = data.expMonth;\n this.expYear = data.expYear;\n this.code = data.code;\n }\n}\n","import { AttachmentResponse } from '../response/attachmentResponse';\n\nexport class AttachmentData {\n id: string;\n url: string;\n fileName: string;\n size: number;\n sizeName: string;\n\n constructor(response?: AttachmentResponse) {\n if (response == null) {\n return;\n }\n this.id = response.id;\n this.url = response.url;\n this.fileName = response.fileName;\n this.size = response.size;\n this.sizeName = response.sizeName;\n }\n}\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorHistoryComponent as BasePasswordGeneratorHistoryComponent,\r\n} from 'jslib/angular/components/password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator-history',\r\n templateUrl: 'password-generator-history.component.html',\r\n})\r\nexport class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent {\r\n constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2,\r\n platformUtilsService: PlatformUtilsService, i18nService: I18nService,\r\n toasterService: ToasterService) {\r\n super(passwordGenerationService, analytics, platformUtilsService, i18nService, toasterService, window);\r\n }\r\n}\r\n","import { View } from './view';\n\nimport { Attachment } from '../domain/attachment';\n\nexport class AttachmentView implements View {\n id: string;\n url: string;\n size: number;\n sizeName: string;\n fileName: string;\n\n constructor(a?: Attachment) {\n if (!a) {\n return;\n }\n\n this.id = a.id;\n this.url = a.url;\n this.size = a.size;\n this.sizeName = a.sizeName;\n }\n}\n","export class KvpRequest {\n key: TK;\n value: TV;\n\n constructor(key: TK, value: TV) {\n this.key = key;\n this.value = value;\n }\n}\n","export enum PlanType {\n Free = 0,\n FamiliesAnnually = 1,\n TeamsMonthly = 2,\n TeamsAnnually = 3,\n EnterpriseMonthly = 4,\n EnterpriseAnnually = 5,\n Custom = 6,\n}\n","\n

{{'contactSupportPaymentMethod' | i18n}}

\n \n {{'contactSupport' | i18n}}\n \n \n
\n
\n
\n

{{(currentType != null ? 'changePaymentMethod' : 'addPaymentMethod') | i18n}}

\n \n \n \n
\n
\n","
\n
\n

{{(add ? 'addStorage' : 'removeStorage') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{storageAdjustment || 0}} GB × {{storageGbPrice | currency:'$'}} = {{adjustedStorageTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'storageAddNote' : 'storageRemoveNote') | i18n}}\n \n
\n
\n","
\n
\n \n \n {{'licenseFileDesc' | i18n : (!organizationId ? 'bitwarden_premium_license.json' : 'bitwarden_organization_license.json')}}\n
\n \n \n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { UpdateTwoFactorYubioOtpRequest } from 'jslib/models/request/updateTwoFactorYubioOtpRequest';\nimport { TwoFactorYubiKeyResponse } from 'jslib/models/response/twoFactorYubiKeyResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-yubikey',\n templateUrl: 'two-factor-yubikey.component.html',\n})\nexport class TwoFactorYubiKeyComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Yubikey;\n keys: any[];\n nfc = false;\n\n formPromise: Promise;\n disablePromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n const request = new UpdateTwoFactorYubioOtpRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.key1 = this.keys != null && this.keys.length > 0 ? this.keys[0].key : null;\n request.key2 = this.keys != null && this.keys.length > 1 ? this.keys[1].key : null;\n request.key3 = this.keys != null && this.keys.length > 2 ? this.keys[2].key : null;\n request.key4 = this.keys != null && this.keys.length > 3 ? this.keys[3].key : null;\n request.key5 = this.keys != null && this.keys.length > 4 ? this.keys[4].key : null;\n request.nfc = this.nfc;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorYubiKey(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n this.toasterService.popAsync('success', null, this.i18nService.t('yubikeysUpdated'));\n });\n }\n\n disable() {\n return super.disable(this.disablePromise);\n }\n\n remove(key: any) {\n key.existingKey = null;\n key.key = null;\n }\n\n private processResponse(response: TwoFactorYubiKeyResponse) {\n this.enabled = response.enabled;\n this.keys = [\n { key: response.key1, existingKey: this.padRight(response.key1) },\n { key: response.key2, existingKey: this.padRight(response.key2) },\n { key: response.key3, existingKey: this.padRight(response.key3) },\n { key: response.key4, existingKey: this.padRight(response.key4) },\n { key: response.key5, existingKey: this.padRight(response.key5) },\n ];\n this.nfc = response.nfc || !response.enabled;\n }\n\n private padRight(str: string, character = '•', size = 44) {\n if (str == null || character == null || str.length >= size) {\n return str;\n }\n const max = (size - str.length) / character.length;\n for (let i = 0; i < max; i++) {\n str += character;\n }\n return str;\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorU2fRequest } from 'jslib/models/request/updateTwoFactorU2fRequest';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from 'jslib/models/response/twoFactorU2fResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-u2f',\n templateUrl: 'two-factor-u2f.component.html',\n})\nexport class TwoFactorU2fComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.U2f;\n u2fChallenge: ChallengeResponse;\n u2fError: boolean;\n u2fListening: boolean;\n u2fResponse: string;\n formPromise: Promise;\n\n private closed = false;\n private u2fScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.u2fScript = window.document.createElement('script');\n this.u2fScript.src = 'scripts/u2f.js';\n this.u2fScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.u2fScript);\n }\n\n ngOnDestroy() {\n this.closed = true;\n window.document.body.removeChild(this.u2fScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n this.readDevice();\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorU2fRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.deviceResponse = this.u2fResponse;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorU2f(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private readDevice() {\n if (this.closed || this.enabled) {\n return;\n }\n\n // tslint:disable-next-line\n console.log('listening for key...');\n\n this.u2fResponse = null;\n this.u2fError = false;\n this.u2fListening = true;\n\n (window as any).u2f.register(this.u2fChallenge.appId, [{\n version: this.u2fChallenge.version,\n challenge: this.u2fChallenge.challenge,\n }], [], (data: any) => {\n this.u2fListening = false;\n if (data.errorCode === 5) {\n this.readDevice();\n return;\n } else if (data.errorCode) {\n this.u2fError = true;\n // tslint:disable-next-line\n console.log('error: ' + data.errorCode);\n return;\n }\n this.u2fResponse = JSON.stringify(data);\n }, 10);\n }\n\n private processResponse(response: TwoFactorU2fResponse) {\n this.u2fChallenge = response.challenge;\n this.enabled = response.enabled;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoverResponse } from 'jslib/models/response/twoFactorRescoverResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\n@Component({\n selector: 'app-two-factor-recovery',\n templateUrl: 'two-factor-recovery.component.html',\n})\nexport class TwoFactorRecoveryComponent {\n type = -1;\n code: string;\n authed: boolean;\n twoFactorProviderType = TwoFactorProviderType;\n\n constructor(private i18nService: I18nService) { }\n\n auth(authResponse: any) {\n this.authed = true;\n this.processResponse(authResponse.response);\n }\n\n print() {\n const w = window.open();\n w.document.write('
' +\n '

' + this.i18nService.t('twoFactorRecoveryYourCode') + ':

' +\n '' +\n this.code + '
' +\n '

' + new Date() + '

');\n w.print();\n w.close();\n }\n\n private formatString(s: string) {\n if (s == null) {\n return null;\n }\n return s.replace(/(.{4})/g, '$1 ').trim().toUpperCase();\n }\n\n private processResponse(response: TwoFactorRecoverResponse) {\n this.code = this.formatString(response.code);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorEmailRequest } from 'jslib/models/request/twoFactorEmailRequest';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorEmailRequest } from 'jslib/models/request/updateTwoFactorEmailRequest';\nimport { TwoFactorEmailResponse } from 'jslib/models/response/twoFactorEmailResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-email',\n templateUrl: 'two-factor-email.component.html',\n})\nexport class TwoFactorEmailComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Email;\n email: string;\n token: string;\n sentEmail: string;\n formPromise: Promise;\n emailPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private userService: UserService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n async sendEmail() {\n try {\n const request = new TwoFactorEmailRequest(this.email, this.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmailSetup(request);\n await this.emailPromise;\n this.sentEmail = this.email;\n } catch { }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorEmailRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.email = this.email;\n request.token = this.token;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorEmail(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorEmailResponse) {\n this.token = null;\n this.email = response.email;\n this.enabled = response.enabled;\n if (!this.enabled && (this.email == null || this.email === '')) {\n this.email = await this.userService.getEmail();\n }\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateTwoFactorAuthenticatorRequest } from 'jslib/models/request/updateTwoFactorAuthenticatorRequest';\nimport { TwoFactorAuthenticatorResponse } from 'jslib/models/response/twoFactorAuthenticatorResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-authenticator',\n templateUrl: 'two-factor-authenticator.component.html',\n})\nexport class TwoFactorAuthenticatorComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.Authenticator;\n key: string;\n token: string;\n formPromise: Promise;\n\n private qrScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private userService: UserService, platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.qrScript = window.document.createElement('script');\n this.qrScript.src = 'scripts/qrious.min.js';\n this.qrScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.qrScript);\n }\n\n ngOnDestroy() {\n window.document.body.removeChild(this.qrScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorAuthenticatorRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.token = this.token;\n request.key = this.key;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorAuthenticator(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorAuthenticatorResponse) {\n this.token = null;\n this.enabled = response.enabled;\n this.key = response.key;\n const email = await this.userService.getEmail();\n window.setTimeout(() => {\n const qr = new (window as any).QRious({\n element: document.getElementById('qr'),\n value: 'otpauth://totp/Bitwarden:' + encodeURIComponent(email) +\n '?secret=' + encodeURIComponent(this.key) + '&issuer=Bitwarden',\n size: 160,\n });\n }, 100);\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-purge-vault',\r\n templateUrl: 'purge-vault.component.html',\r\n})\r\nexport class PurgeVaultComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private router: Router) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postPurgeCiphers(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Purged Vault' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('vaultPurged'));\r\n this.router.navigate(['vault']);\r\n } catch { }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-account',\n templateUrl: 'delete-account.component.html',\n})\nexport class DeleteAccountComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteAccount(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Account' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-deauthorize-sessions',\r\n templateUrl: 'deauthorize-sessions.component.html',\r\n})\r\nexport class DeauthorizeSessionsComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postSecurityStamp(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Deauthorized Sessions' });\r\n this.toasterService.popAsync('success', this.i18nService.t('sessionsDeauthorized'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { PasswordRequest } from 'jslib/models/request/passwordRequest';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: 'change-password.component.html',\n})\nexport class ChangePasswordComponent {\n currentMasterPassword: string;\n newMasterPassword: string;\n confirmNewMasterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private userService: UserService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n if (this.currentMasterPassword == null || this.currentMasterPassword === '' ||\n this.newMasterPassword == null || this.newMasterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n if (this.newMasterPassword.length < 8) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return;\n }\n if (this.newMasterPassword !== this.confirmNewMasterPassword) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return;\n }\n\n const request = new PasswordRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.currentMasterPassword, null);\n const email = await this.userService.getEmail();\n const newKey = await this.cryptoService.makeKey(this.newMasterPassword, email);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.newMasterPassword, newKey);\n const encKey = await this.cryptoService.getEncKey();\n const newEncKey = await this.cryptoService.encrypt(encKey.key, newKey);\n request.key = newEncKey.encryptedString;\n try {\n this.formPromise = this.apiService.postPassword(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Changed Password' });\n this.toasterService.popAsync('success', this.i18nService.t('masterPasswordChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class EmailTokenRequest extends PasswordVerificationRequest {\n newEmail: string;\n masterPasswordHash: string;\n}\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { EmailRequest } from 'jslib/models/request/emailRequest';\nimport { EmailTokenRequest } from 'jslib/models/request/emailTokenRequest';\n\n@Component({\n selector: 'app-change-email',\n templateUrl: 'change-email.component.html',\n})\nexport class ChangeEmailComponent {\n masterPassword: string;\n newEmail: string;\n token: string;\n tokenSent = false;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n this.newEmail = this.newEmail.toLowerCase();\n if (!this.tokenSent) {\n const request = new EmailTokenRequest();\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postEmailToken(request);\n await this.formPromise;\n this.tokenSent = true;\n } catch { }\n } else {\n const request = new EmailRequest();\n request.token = this.token;\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const newKey = await this.cryptoService.makeKey(this.masterPassword, this.newEmail);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const encKey = await this.cryptoService.getEncKey();\n const newEncKey = await this.cryptoService.encrypt(encKey.key, newKey);\n request.key = newEncKey.encryptedString;\n try {\n this.formPromise = this.apiService.postEmail(request);\n await this.formPromise;\n this.reset();\n this.analytics.eventTrack.next({ action: 'Changed Email' });\n this.toasterService.popAsync('success', this.i18nService.t('emailChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n }\n\n reset() {\n this.token = this.newEmail = this.masterPassword = null;\n this.tokenSent = false;\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { UpdateProfileRequest } from 'jslib/models/request/updateProfileRequest';\r\n\r\nimport { ProfileResponse } from 'jslib/models/response/profileResponse';\r\n\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: 'profile.component.html',\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n loading = true;\r\n profile: ProfileResponse;\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService) { }\r\n\r\n async ngOnInit() {\r\n this.profile = await this.apiService.getProfile();\r\n this.loading = false;\r\n }\r\n\r\n async submit() {\r\n try {\r\n const request = new UpdateProfileRequest(this.profile.name, this.profile.masterPasswordHint);\r\n this.formPromise = this.apiService.putProfile(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Updated Profile' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('accountUpdated'));\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\n@Component({\n selector: 'app-vault-share',\n templateUrl: 'share.component.html',\n})\nexport class ShareComponent implements OnInit, OnDestroy {\n @Input() cipherId: string;\n @Input() organizationId: string;\n @Output() onSharedCipher = new EventEmitter();\n\n formPromise: Promise;\n cipher: CipherView;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private collectionService: CollectionService, private analytics: Angulartics2,\n private toasterService: ToasterService, private i18nService: I18nService,\n private userService: UserService, private cipherService: CipherService) { }\n\n async ngOnInit() {\n const cipherDomain = await this.cipherService.get(this.cipherId);\n this.cipher = await cipherDomain.decrypt();\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const cipherDomain = await this.cipherService.get(this.cipherId);\n const cipherView = await cipherDomain.decrypt();\n\n const attachmentPromises: Array> = [];\n if (cipherView.attachments != null) {\n for (const attachment of cipherView.attachments) {\n const promise = this.cipherService.shareAttachmentWithServer(attachment,\n cipherView.id, this.organizationId);\n attachmentPromises.push(promise);\n }\n }\n\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n this.formPromise = Promise.all(attachmentPromises).then(async () => {\n await this.cipherService.shareWithServer(cipherView, this.organizationId, checkedCollectionIds);\n this.onSharedCipher.emit();\n this.analytics.eventTrack.next({ action: 'Shared Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItem'));\n });\n await this.formPromise;\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n FolderAddEditComponent as BaseFolderAddEditComponent,\r\n} from 'jslib/angular/components/folder-add-edit.component';\r\n\r\n@Component({\r\n selector: 'app-folder-add-edit',\r\n templateUrl: 'folder-add-edit.component.html',\r\n})\r\nexport class FolderAddEditComponent extends BaseFolderAddEditComponent {\r\n constructor(folderService: FolderService, i18nService: I18nService,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(folderService, i18nService, analytics, toasterService, platformUtilsService);\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-vault-bulk-share',\n templateUrl: 'bulk-share.component.html',\n})\nexport class BulkShareComponent implements OnInit {\n @Input() ciphers: CipherView[] = [];\n @Input() organizationId: string;\n @Output() onShared = new EventEmitter();\n\n nonShareableCount = 0;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n shareableCiphers: CipherView[] = [];\n formPromise: Promise;\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private collectionService: CollectionService, private userService: UserService) { }\n\n async ngOnInit() {\n this.shareableCiphers = this.ciphers.filter((c) => !c.hasAttachments && c.organizationId == null);\n this.nonShareableCount = this.ciphers.length - this.shareableCiphers.length;\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n this.formPromise = this.cipherService.shareManyWithServer(this.shareableCiphers, this.organizationId,\n checkedCollectionIds);\n await this.formPromise;\n this.onShared.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Shared Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItems'));\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { FolderView } from 'jslib/models/view/folderView';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-move',\r\n templateUrl: 'bulk-move.component.html',\r\n})\r\nexport class BulkMoveComponent implements OnInit {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onMoved = new EventEmitter();\r\n\r\n folderId: string = null;\r\n folders: FolderView[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private folderService: FolderService) { }\r\n\r\n async ngOnInit() {\r\n this.folders = await this.folderService.getAllDecrypted();\r\n this.folderId = this.folders[0].id;\r\n }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.moveManyWithServer(this.cipherIds, this.folderId);\r\n await this.formPromise;\r\n this.onMoved.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Moved Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('movedItems'));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-delete',\r\n templateUrl: 'bulk-delete.component.html',\r\n})\r\nexport class BulkDeleteComponent {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onDeleted = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService) { }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.deleteManyWithServer(this.cipherIds);\r\n await this.formPromise;\r\n this.onDeleted.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Deleted Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItems'));\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherWithIdRequest extends CipherRequest {\n id: string;\n\n constructor(cipher: Cipher) {\n super(cipher);\n this.id = cipher.id;\n }\n}\n","import { Component } from '@angular/core';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-update-key',\n templateUrl: 'update-key.component.html',\n})\nexport class UpdateKeyComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private syncService: SyncService, private folderService: FolderService,\n private cipherService: CipherService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (hasEncKey) {\n return;\n }\n\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.makeRequest().then((request) => {\n return this.apiService.postAccountKey(request);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Key Updated' });\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('keyUpdated'),\n body: this.i18nService.t('logBackInOthersToo'),\n timeout: 15000,\n };\n this.toasterService.popAsync(toast);\n this.messagingService.send('logout');\n } catch { }\n }\n\n private async makeRequest(): Promise {\n const key = await this.cryptoService.getKey();\n const encKey = await this.cryptoService.makeEncKey(key);\n const privateKey = await this.cryptoService.getPrivateKey();\n let encPrivateKey: CipherString = null;\n if (privateKey != null) {\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\n }\n const request = new UpdateKeyRequest();\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n\n await this.syncService.fullSync(true);\n\n const folders = await this.folderService.getAllDecrypted();\n for (let i = 0; i < folders.length; i++) {\n if (folders[i].id == null) {\n continue;\n }\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\n request.folders.push(new FolderWithIdRequest(folder));\n }\n\n const ciphers = await this.cipherService.getAllDecrypted();\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId != null) {\n continue;\n }\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n return request;\n }\n}\n","\r\n

\r\n \r\n

\r\n \r\n \r\n

{{'noOrganizationsList' | i18n}}

\r\n
\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n\r\n
\r\n

\r\n {{'organizations' | i18n}}\r\n \r\n \r\n \r\n

\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n \r\n \r\n \r\n

{{'noOrganizationsList' | i18n}}

\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{o.name}}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { DeviceType } from '../../enums';\n\n@Pipe({\n name: 'searchCiphers',\n})\nexport class SearchCiphersPipe implements PipeTransform {\n private onlySearchName = false;\n\n constructor(platformUtilsService: PlatformUtilsService) {\n this.onlySearchName = platformUtilsService.getDevice() === DeviceType.EdgeExtension;\n }\n\n transform(ciphers: CipherView[], searchText: string): CipherView[] {\n if (ciphers == null || ciphers.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return ciphers;\n }\n\n searchText = searchText.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (c.name != null && c.name.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (this.onlySearchName) {\n return false;\n }\n if (searchText.length >= 8 && c.id.startsWith(searchText)) {\n return true;\n }\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n\n return false;\n });\n }\n}\n","
\r\n \"\"\r\n \r\n
\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-verify-email',\n templateUrl: 'verify-email.component.html',\n})\nexport class VerifyEmailComponent {\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async send() {\n if (this.actionPromise != null) {\n return;\n }\n try {\n this.actionPromise = this.apiService.postAccountVerifyEmail();\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Sent Verification Email' });\n this.toasterService.popAsync('success', null, this.i18nService.t('checkInboxForVerification'));\n } catch { }\n this.actionPromise = null;\n }\n}\n","
\n
\n
\n © {{year}}, 8bit Solutions LLC\n
\n
\n
\n {{'versionNumber' | i18n : version}}\n
\n
\n
\n","\r\n","export class KeysRequest {\n publicKey: string;\n encryptedPrivateKey: string;\n\n constructor(publicKey: string, encryptedPrivateKey: string) {\n this.publicKey = publicKey;\n this.encryptedPrivateKey = encryptedPrivateKey;\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorEmailRequest extends PasswordVerificationRequest {\n email: string;\n\n constructor(email: string, masterPasswordHash: string) {\n super();\n this.masterPasswordHash = masterPasswordHash;\n this.email = email;\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent,\r\n} from 'jslib/angular/components/two-factor-options.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-options',\r\n templateUrl: 'two-factor-options.component.html',\r\n})\r\nexport class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {\r\n constructor(authService: AuthService, router: Router,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService) {\r\n super(authService, router, analytics, toasterService, i18nService, platformUtilsService, window);\r\n }\r\n}\r\n","import * as jq from 'jquery';\nimport * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport {\n ToasterConfig,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {\n NavigationEnd,\n Router,\n} from '@angular/router';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { LockService } from 'jslib/abstractions/lock.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SettingsService } from 'jslib/abstractions/settings.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { RouterService } from './services/router.service';\n\nconst BroadcasterSubscriptionId = 'AppComponent';\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n})\nexport class AppComponent implements OnDestroy, OnInit {\n toasterConfig: ToasterConfig = new ToasterConfig({\n showCloseButton: true,\n mouseoverTimerStop: true,\n animation: 'flyRight',\n limit: 5,\n });\n\n private lastActivity: number = null;\n\n constructor(private angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics,\n private broadcasterService: BroadcasterService, private userService: UserService,\n private tokenService: TokenService, private folderService: FolderService,\n private settingsService: SettingsService, private syncService: SyncService,\n private passwordGenerationService: PasswordGenerationService, private cipherService: CipherService,\n private authService: AuthService, private router: Router, private analytics: Angulartics2,\n private toasterService: ToasterService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private ngZone: NgZone,\n private lockService: LockService, private storageService: StorageService,\n private cryptoService: CryptoService, private collectionService: CollectionService,\n private routerService: RouterService) { }\n\n ngOnInit() {\n this.ngZone.runOutsideAngular(() => {\n window.onmousemove = () => this.recordActivity();\n window.onmousedown = () => this.recordActivity();\n window.ontouchstart = () => this.recordActivity();\n window.onclick = () => this.recordActivity();\n window.onscroll = () => this.recordActivity();\n window.onkeypress = () => this.recordActivity();\n });\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'loggedIn':\n case 'unlocked':\n case 'loggedOut':\n break;\n case 'logout':\n this.logOut(!!message.expired);\n break;\n case 'lockVault':\n await this.lockService.lock();\n break;\n case 'locked':\n this.router.navigate(['lock']);\n break;\n case 'syncStarted':\n break;\n case 'syncCompleted':\n break;\n case 'upgradeOrganization':\n const upgradeConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('upgradeOrganizationDesc'), this.i18nService.t('upgradeOrganization'),\n this.i18nService.t('upgradeOrganization'), this.i18nService.t('cancel'));\n if (upgradeConfirmed) {\n this.router.navigate(['organizations', message.organizationId, 'settings', 'billing']);\n }\n break;\n case 'premiumRequired':\n const premiumConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (premiumConfirmed) {\n this.router.navigate(['settings/premium']);\n }\n break;\n default:\n break;\n }\n });\n });\n\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n const modals = Array.from(document.querySelectorAll('.modal'));\n for (const modal of modals) {\n (jq(modal) as any).modal('hide');\n }\n\n if (document.querySelector('.swal-modal') != null) {\n swal.close(undefined);\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n private async logOut(expired: boolean) {\n const userId = await this.userService.getUserId();\n\n await Promise.all([\n this.syncService.setLastSync(new Date(0)),\n this.tokenService.clearToken(),\n this.cryptoService.clearKeys(),\n this.userService.clear(),\n this.settingsService.clear(userId),\n this.cipherService.clear(userId),\n this.folderService.clear(userId),\n this.collectionService.clear(userId),\n this.passwordGenerationService.clear(),\n ]);\n\n this.authService.logOut(async () => {\n this.analytics.eventTrack.next({ action: 'Logged Out' });\n if (expired) {\n this.toasterService.popAsync('warning', this.i18nService.t('loggedOut'),\n this.i18nService.t('loginExpired'));\n }\n this.router.navigate(['/']);\n });\n }\n\n private async recordActivity() {\n const now = (new Date()).getTime();\n if (this.lastActivity != null && now - this.lastActivity < 250) {\n return;\n }\n\n this.lastActivity = now;\n this.storageService.save(ConstantsService.lastActiveKey, now);\n }\n}\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 589;","import { NgModule } from '@angular/core';\nimport {\n RouterModule,\n Routes,\n} from '@angular/router';\n\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { SettingsComponent as OrgSettingsComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\n\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ImportComponent } from './tools/import.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ToolsComponent } from './tools/tools.component';\n\nimport { VaultComponent } from './vault/vault.component';\n\nimport { OrganizationGuardService } from './services/organization-guard.service';\nimport { OrganizationTypeGuardService } from './services/organization-type-guard.service';\nimport { UnauthGuardService } from './services/unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\n\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nconst routes: Routes = [\n {\n path: '',\n component: FrontendLayoutComponent,\n children: [\n { path: '', pathMatch: 'full', component: LoginComponent, canActivate: [UnauthGuardService] },\n { path: '2fa', component: TwoFactorComponent, canActivate: [UnauthGuardService] },\n {\n path: 'register', component: RegisterComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'createAccount' },\n },\n {\n path: 'hint', component: HintComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'passwordHint' },\n },\n { path: 'lock', component: LockComponent },\n { path: 'verify-email', component: VerifyEmailTokenComponent },\n {\n path: 'accept-organization',\n component: AcceptOrganizationComponent,\n data: { titleId: 'joinOrganization' },\n },\n { path: 'recover', pathMatch: 'full', redirectTo: 'recover-2fa' },\n {\n path: 'recover-2fa',\n component: RecoverTwoFactorComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'recoverAccountTwoStep' },\n },\n {\n path: 'recover-delete',\n component: RecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n {\n path: 'verify-recover-delete',\n component: VerifyRecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n ],\n },\n {\n path: '',\n component: UserLayoutComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: 'vault', component: VaultComponent, data: { titleId: 'myVault' } },\n {\n path: 'settings',\n component: SettingsComponent,\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: AccountComponent, data: { titleId: 'myAccount' } },\n { path: 'options', component: OptionsComponent, data: { titleId: 'options' } },\n { path: 'domain-rules', component: DomainRulesComponent, data: { titleId: 'domainRules' } },\n { path: 'two-factor', component: TwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n { path: 'premium', component: PremiumComponent, data: { titleId: 'goPremium' } },\n { path: 'billing', component: UserBillingComponent, data: { titleId: 'billingAndLicensing' } },\n { path: 'organizations', component: OrganizationsComponent, data: { titleId: 'organizations' } },\n {\n path: 'create-organization',\n component: CreateOrganizationComponent,\n data: { titleId: 'newOrganization' },\n },\n ],\n },\n {\n path: 'tools',\n component: ToolsComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'generator' },\n { path: 'import', component: ImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: ExportComponent, data: { titleId: 'exportVault' } },\n {\n path: 'generator',\n component: PasswordGeneratorComponent,\n data: { titleId: 'passwordGenerator' },\n },\n { path: 'breach-report', component: BreachReportComponent, data: { titleId: 'dataBreachReport' } },\n ],\n },\n ],\n },\n {\n path: 'organizations/:organizationId',\n component: OrganizationLayoutComponent,\n canActivate: [AuthGuardService, OrganizationGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'vault' },\n { path: 'vault', component: OrgVaultComponent, data: { titleId: 'vault' } },\n {\n path: 'tools',\n component: OrgToolsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'import' },\n { path: 'import', component: OrgImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: OrgExportComponent, data: { titleId: 'exportVault' } },\n ],\n },\n {\n path: 'manage',\n component: OrgManageComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'people' },\n { path: 'collections', component: OrgManageCollectionsComponent, data: { titleId: 'collections' } },\n { path: 'events', component: OrgEventsComponent, data: { titleId: 'eventLogs' } },\n { path: 'groups', component: OrgGroupsComponent, data: { titleId: 'groups' } },\n { path: 'people', component: OrgPeopleComponent, data: { titleId: 'people' } },\n ],\n },\n {\n path: 'settings',\n component: OrgSettingsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: OrgAccountComponent, data: { titleId: 'myOrganization' } },\n { path: 'two-factor', component: OrgTwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n {\n path: 'billing',\n component: OrganizationBillingComponent,\n data: { titleId: 'billingAndLicensing' },\n },\n ],\n },\n ],\n },\n { path: '**', redirectTo: '' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n useHash: true,\n /*enableTracing: true,*/\n })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","export class DecryptParameters {\n encKey: T;\n data: T;\n iv: T;\n macKey: T;\n mac: T;\n macData: T;\n}\n","import * as forge from 'node-forge';\n\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nimport { Utils } from '../misc/utils';\n\nimport { SymmetricCryptoKey } from '../models/domain';\nimport { DecryptParameters } from '../models/domain/decryptParameters';\n\nexport class WebCryptoFunctionService implements CryptoFunctionService {\n private crypto: Crypto;\n private subtle: SubtleCrypto;\n private isEdge: boolean;\n private isIE: boolean;\n\n constructor(private win: Window, private platformUtilsService: PlatformUtilsService) {\n this.crypto = typeof win.crypto !== 'undefined' ? win.crypto : null;\n this.subtle = (!!this.crypto && typeof win.crypto.subtle !== 'undefined') ? win.crypto.subtle : null;\n this.isEdge = platformUtilsService.isEdge();\n this.isIE = platformUtilsService.isIE();\n }\n\n async pbkdf2(password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number): Promise {\n if (this.isEdge || this.isIE) {\n const forgeLen = algorithm === 'sha256' ? 32 : 64;\n const passwordBytes = this.toByteString(password);\n const saltBytes = this.toByteString(salt);\n const derivedKeyBytes = (forge as any).pbkdf2(passwordBytes, saltBytes, iterations, forgeLen, algorithm);\n return Utils.fromByteStringToArray(derivedKeyBytes).buffer;\n }\n\n const wcLen = algorithm === 'sha256' ? 256 : 512;\n const passwordBuf = this.toBuf(password);\n const saltBuf = this.toBuf(salt);\n\n const pbkdf2Params: Pbkdf2Params = {\n name: 'PBKDF2',\n salt: saltBuf,\n iterations: iterations,\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', passwordBuf, { name: 'PBKDF2' } as any,\n false, ['deriveBits']);\n return await this.subtle.deriveBits(pbkdf2Params, impKey, wcLen);\n }\n\n async hash(value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n if ((this.isEdge || this.isIE) && algorithm === 'sha1') {\n const md = forge.md.sha1.create();\n const valueBytes = this.toByteString(value);\n md.update(valueBytes, 'raw');\n return Utils.fromByteStringToArray(md.digest().data).buffer;\n }\n\n const valueBuf = this.toBuf(value);\n return await this.subtle.digest({ name: this.toWebCryptoAlgorithm(algorithm) }, valueBuf);\n }\n\n async hmac(value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', key, signingAlgorithm, false, ['sign']);\n return await this.subtle.sign(signingAlgorithm, impKey, value);\n }\n\n // Safely compare two values in a way that protects against timing attacks (Double HMAC Verification).\n // ref: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/february/double-hmac-verification/\n // ref: https://paragonie.com/blog/2015/11/preventing-timing-attacks-on-string-comparison-with-double-hmac-strategy\n async compare(a: ArrayBuffer, b: ArrayBuffer): Promise {\n const macKey = await this.randomBytes(32);\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: 'SHA-256' },\n };\n const impKey = await this.subtle.importKey('raw', macKey, signingAlgorithm, false, ['sign']);\n const mac1 = await this.subtle.sign(signingAlgorithm, impKey, a);\n const mac2 = await this.subtle.sign(signingAlgorithm, impKey, b);\n\n if (mac1.byteLength !== mac2.byteLength) {\n return false;\n }\n\n const arr1 = new Uint8Array(mac1);\n const arr2 = new Uint8Array(mac2);\n for (let i = 0; i < arr2.length; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n hmacFast(value: string, key: string, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n const hmac = (forge as any).hmac.create();\n hmac.start(algorithm, key);\n hmac.update(value);\n const bytes = hmac.digest().getBytes();\n return Promise.resolve(bytes);\n }\n\n async compareFast(a: string, b: string): Promise {\n const rand = await this.randomBytes(32);\n const bytes = new Uint32Array(rand);\n const buffer = forge.util.createBuffer();\n for (let i = 0; i < bytes.length; i++) {\n buffer.putInt32(bytes[i]);\n }\n const macKey = buffer.getBytes();\n\n const hmac = (forge as any).hmac.create();\n hmac.start('sha256', macKey);\n hmac.update(a);\n const mac1 = hmac.digest().getBytes();\n\n hmac.start(null, null);\n hmac.update(b);\n const mac2 = hmac.digest().getBytes();\n\n const equals = mac1 === mac2;\n return equals;\n }\n\n async aesEncrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['encrypt']);\n return await this.subtle.encrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n aesDecryptFastParameters(data: string, iv: string, mac: string, key: SymmetricCryptoKey):\n DecryptParameters {\n const p = new DecryptParameters();\n if (key.meta != null) {\n p.encKey = key.meta.encKeyByteString;\n p.macKey = key.meta.macKeyByteString;\n }\n\n if (p.encKey == null) {\n p.encKey = forge.util.decode64(key.encKeyB64);\n }\n p.data = forge.util.decode64(data);\n p.iv = forge.util.decode64(iv);\n p.macData = p.iv + p.data;\n if (p.macKey == null && key.macKeyB64 != null) {\n p.macKey = forge.util.decode64(key.macKeyB64);\n }\n if (mac != null) {\n p.mac = forge.util.decode64(mac);\n }\n\n // cache byte string keys for later\n if (key.meta == null) {\n key.meta = {};\n }\n if (key.meta.encKeyByteString == null) {\n key.meta.encKeyByteString = p.encKey;\n }\n if (p.macKey != null && key.meta.macKeyByteString == null) {\n key.meta.macKeyByteString = p.macKey;\n }\n\n return p;\n }\n\n aesDecryptFast(parameters: DecryptParameters): Promise {\n const dataBuffer = (forge as any).util.createBuffer(parameters.data);\n const decipher = (forge as any).cipher.createDecipher('AES-CBC', parameters.encKey);\n decipher.start({ iv: parameters.iv });\n decipher.update(dataBuffer);\n decipher.finish();\n const val = decipher.output.toString('utf8');\n return Promise.resolve(val);\n }\n\n async aesDecrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['decrypt']);\n return await this.subtle.decrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('spki', publicKey, rsaParams, false, ['encrypt']);\n return await this.subtle.encrypt(rsaParams, impKey, data);\n }\n\n async rsaDecrypt(data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, false, ['decrypt']);\n return await this.subtle.decrypt(rsaParams, impKey, data);\n }\n\n async rsaExtractPublicKey(privateKey: ArrayBuffer): Promise {\n const rsaParams = {\n name: 'RSA-OAEP',\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const impPrivateKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, true, ['decrypt']);\n const jwkPrivateKey = await this.subtle.exportKey('jwk', impPrivateKey);\n const jwkPublicKeyParams = {\n kty: 'RSA',\n e: jwkPrivateKey.e,\n n: jwkPrivateKey.n,\n alg: 'RSA-OAEP',\n ext: true,\n };\n const impPublicKey = await this.subtle.importKey('jwk', jwkPublicKeyParams, rsaParams, true, ['encrypt']);\n return await this.subtle.exportKey('spki', impPublicKey);\n }\n\n async rsaGenerateKeyPair(length: 1024 | 2048 | 4096): Promise<[ArrayBuffer, ArrayBuffer]> {\n const rsaParams = {\n name: 'RSA-OAEP',\n modulusLength: length,\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]), // 65537\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const keyPair = await this.subtle.generateKey(rsaParams, true, ['encrypt', 'decrypt']);\n const publicKey = await this.subtle.exportKey('spki', keyPair.publicKey);\n const privateKey = await this.subtle.exportKey('pkcs8', keyPair.privateKey);\n return [publicKey, privateKey];\n }\n\n randomBytes(length: number): Promise {\n const arr = new Uint8Array(length);\n this.crypto.getRandomValues(arr);\n return Promise.resolve(arr.buffer);\n }\n\n private toBuf(value: string | ArrayBuffer): ArrayBuffer {\n let buf: ArrayBuffer;\n if (typeof (value) === 'string') {\n buf = Utils.fromUtf8ToArray(value).buffer;\n } else {\n buf = value;\n }\n return buf;\n }\n\n private toByteString(value: string | ArrayBuffer): string {\n let bytes: string;\n if (typeof (value) === 'string') {\n bytes = forge.util.encodeUtf8(value);\n } else {\n bytes = Utils.fromBufferToByteString(value);\n }\n return bytes;\n }\n\n private toWebCryptoAlgorithm(algorithm: 'sha1' | 'sha256' | 'sha512'): string {\n return algorithm === 'sha1' ? 'SHA-1' : algorithm === 'sha256' ? 'SHA-256' : 'SHA-512';\n }\n}\n","import * as papa from 'papaparse';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { ExportService as ExportServiceAbstraction } from '../abstractions/export.service';\nimport { FolderService } from '../abstractions/folder.service';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Collection } from '../models/domain/collection';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\n\nexport class ExportService implements ExportServiceAbstraction {\n constructor(private folderService: FolderService, private cipherService: CipherService,\n private apiService: ApiService) { }\n\n async getExport(format: 'csv' | 'json' = 'csv'): Promise {\n let decFolders: FolderView[] = [];\n let decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.folderService.getAllDecrypted().then((folders) => {\n decFolders = folders;\n }));\n\n promises.push(this.cipherService.getAllDecrypted().then((ciphers) => {\n decCiphers = ciphers;\n }));\n\n await Promise.all(promises);\n\n const foldersMap = new Map();\n decFolders.forEach((f) => {\n foldersMap.set(f.id, f);\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n\n if (c.organizationId != null) {\n return;\n }\n\n const cipher: any = {};\n cipher.folder = c.folderId != null && foldersMap.has(c.folderId) ? foldersMap.get(c.folderId).name : null;\n cipher.favorite = c.favorite ? 1 : null;\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n if (format === 'csv') {\n return papa.unparse(exportCiphers);\n } else {\n return JSON.stringify(exportCiphers, null, ' ');\n }\n }\n\n async getOrganizationExport(organizationId: string, format: 'csv' | 'json' = 'csv'): Promise {\n const decCollections: CollectionView[] = [];\n const decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.apiService.getCollections(organizationId).then((collections) => {\n const collectionPromises: any = [];\n if (collections != null && collections.data != null && collections.data.length > 0) {\n collections.data.forEach((c) => {\n const collection = new Collection(new CollectionData(c as CollectionDetailsResponse));\n collectionPromises.push(collection.decrypt().then((decCol) => {\n decCollections.push(decCol);\n }));\n });\n }\n return Promise.all(collectionPromises);\n }));\n\n promises.push(this.apiService.getCiphersOrganization(organizationId).then((ciphers) => {\n const cipherPromises: any = [];\n if (ciphers != null && ciphers.data != null && ciphers.data.length > 0) {\n ciphers.data.forEach((c) => {\n const cipher = new Cipher(new CipherData(c));\n cipherPromises.push(cipher.decrypt().then((decCipher) => {\n decCiphers.push(decCipher);\n }));\n });\n }\n return Promise.all(cipherPromises);\n }));\n\n await Promise.all(promises);\n\n const collectionsMap = new Map();\n decCollections.forEach((c) => {\n collectionsMap.set(c.id, c);\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n\n const cipher: any = {};\n cipher.collections = [];\n if (c.collectionIds != null) {\n cipher.collections = c.collectionIds.filter((id) => collectionsMap.has(id))\n .map((id) => collectionsMap.get(id).name);\n }\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n if (format === 'csv') {\n return papa.unparse(exportCiphers);\n } else {\n return JSON.stringify(exportCiphers, null, ' ');\n }\n }\n\n getFileName(prefix: string = null): string {\n const now = new Date();\n const dateString =\n now.getFullYear() + '' + this.padNumber(now.getMonth() + 1, 2) + '' + this.padNumber(now.getDate(), 2) +\n this.padNumber(now.getHours(), 2) + '' + this.padNumber(now.getMinutes(), 2) +\n this.padNumber(now.getSeconds(), 2);\n\n return 'bitwarden' + (prefix ? ('_' + prefix) : '') + '_export_' + dateString + '.csv';\n }\n\n private padNumber(num: number, width: number, padCharacter: string = '0'): string {\n const numString = num.toString();\n return numString.length >= width ? numString :\n new Array(width - numString.length + 1).join(padCharacter) + numString;\n }\n\n private buildCommonCipher(cipher: any, c: CipherView) {\n cipher.type = null;\n cipher.name = c.name;\n cipher.notes = c.notes;\n cipher.fields = null;\n // Login props\n cipher.login_uri = null;\n cipher.login_username = null;\n cipher.login_password = null;\n cipher.login_totp = null;\n\n if (c.fields) {\n c.fields.forEach((f: any) => {\n if (!cipher.fields) {\n cipher.fields = '';\n } else {\n cipher.fields += '\\n';\n }\n\n cipher.fields += ((f.name || '') + ': ' + f.value);\n });\n }\n\n switch (c.type) {\n case CipherType.Login:\n cipher.type = 'login';\n cipher.login_username = c.login.username;\n cipher.login_password = c.login.password;\n cipher.login_totp = c.login.totp;\n\n if (c.login.uris) {\n cipher.login_uri = [];\n c.login.uris.forEach((u) => {\n cipher.login_uri.push(u.uri);\n });\n }\n break;\n case CipherType.SecureNote:\n cipher.type = 'note';\n break;\n default:\n return;\n }\n\n return cipher;\n }\n}\n","import { AppIdService } from '../abstractions/appId.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from '../services/constants.service';\n\nimport { DeviceType } from '../enums/deviceType';\n\nconst GaObj = 'ga';\n\nexport const AnalyticsIds = {\n [DeviceType.ChromeExtension]: 'UA-81915606-6',\n [DeviceType.FirefoxExtension]: 'UA-81915606-7',\n [DeviceType.OperaExtension]: 'UA-81915606-8',\n [DeviceType.EdgeExtension]: 'UA-81915606-9',\n [DeviceType.VivaldiExtension]: 'UA-81915606-15',\n [DeviceType.SafariExtension]: 'UA-81915606-16',\n [DeviceType.WindowsDesktop]: 'UA-81915606-17',\n [DeviceType.LinuxDesktop]: 'UA-81915606-19',\n [DeviceType.MacOsDesktop]: 'UA-81915606-18',\n};\n\nexport class Analytics {\n private gaTrackingId: string = null;\n private defaultDisabled = false;\n private appVersion: string;\n\n constructor(win: Window, private gaFilter?: () => boolean,\n private platformUtilsService?: PlatformUtilsService, private storageService?: StorageService,\n private appIdService?: AppIdService, private dependencyResolver?: () => any) {\n if (dependencyResolver != null) {\n const deps = dependencyResolver();\n if (platformUtilsService == null && deps.platformUtilsService) {\n this.platformUtilsService = deps.platformUtilsService as PlatformUtilsService;\n }\n if (storageService == null && deps.storageService) {\n this.storageService = deps.storageService as StorageService;\n }\n if (appIdService == null && deps.appIdService) {\n this.appIdService = deps.appIdService as AppIdService;\n }\n }\n\n this.appVersion = this.platformUtilsService.getApplicationVersion();\n this.defaultDisabled = this.platformUtilsService.isFirefox() || this.platformUtilsService.isMacAppStore();\n this.gaTrackingId = this.platformUtilsService.analyticsId();\n\n (win as any).GoogleAnalyticsObject = GaObj;\n (win as any)[GaObj] = async (action: string, param1: any, param2?: any) => {\n await this.ga(action, param1, param2);\n };\n }\n\n async ga(action: string, param1: any, param2?: any) {\n if (this.gaFilter != null && this.gaFilter()) {\n return;\n }\n\n const disabled = await this.storageService.get(ConstantsService.disableGaKey);\n if ((this.defaultDisabled && disabled == null) || disabled != null && disabled) {\n return;\n }\n\n if (action !== 'send' || !param1) {\n return;\n }\n\n const gaAnonAppId = await this.appIdService.getAnonymousAppId();\n const version = encodeURIComponent(this.appVersion);\n let message = 'v=1&tid=' + this.gaTrackingId + '&cid=' + gaAnonAppId + '&cd1=' + version;\n\n if (param1 === 'pageview' && param2) {\n message += this.gaTrackPageView(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'pageview') {\n message += this.gaTrackPageView(param1.page);\n } else if (param1 === 'event' && param2) {\n message += this.gaTrackEvent(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'event') {\n message += this.gaTrackEvent(param1);\n }\n\n const request = new XMLHttpRequest();\n request.open('POST', 'https://www.google-analytics.com/collect', true);\n request.send(message);\n }\n\n private gaTrackEvent(options: any) {\n return '&t=event&ec=' + (options.eventCategory ? encodeURIComponent(options.eventCategory) : 'Event') +\n '&ea=' + encodeURIComponent(options.eventAction) +\n (options.eventLabel ? '&el=' + encodeURIComponent(options.eventLabel) : '') +\n (options.eventValue ? '&ev=' + encodeURIComponent(options.eventValue) : '') +\n (options.page ? '&dp=' + this.cleanPagePath(options.page) : '');\n }\n\n private gaTrackPageView(pagePath: string) {\n return '&t=pageview&dp=' + this.cleanPagePath(pagePath);\n }\n\n private cleanPagePath(pagePath: string) {\n const paramIndex = pagePath.indexOf('?');\n if (paramIndex > -1) {\n pagePath = pagePath.substring(0, paramIndex);\n }\n if (pagePath.indexOf('!/') === 0 || pagePath.indexOf('#/') === 0) {\n pagePath = pagePath.substring(1);\n }\n const pathParts = pagePath.split('/');\n const newPathParts: string[] = [];\n pathParts.forEach((p) => {\n if (p.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)) {\n newPathParts.push('__guid__');\n } else {\n newPathParts.push(p);\n }\n });\n return encodeURIComponent(newPathParts.join('/'));\n }\n}\n","import * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\nexport class WebPlatformUtilsService implements PlatformUtilsService {\n identityClientId: string = 'web';\n\n private browserCache: DeviceType = null;\n\n constructor(private i18nService: I18nService) { }\n\n getDevice(): DeviceType {\n if (this.browserCache != null) {\n return this.browserCache;\n }\n\n if (navigator.userAgent.indexOf(' Firefox/') !== -1 || navigator.userAgent.indexOf(' Gecko/') !== -1) {\n this.browserCache = DeviceType.FirefoxBrowser;\n } else if (navigator.userAgent.indexOf(' OPR/') >= 0) {\n this.browserCache = DeviceType.OperaBrowser;\n } else if (navigator.userAgent.indexOf(' Edge/') !== -1) {\n this.browserCache = DeviceType.EdgeBrowser;\n } else if (navigator.userAgent.indexOf(' Vivaldi/') !== -1) {\n this.browserCache = DeviceType.VivaldiBrowser;\n } else if (navigator.userAgent.indexOf(' Safari/') !== -1 && navigator.userAgent.indexOf('Chrome') === -1) {\n this.browserCache = DeviceType.SafariBrowser;\n } else if ((window as any).chrome && navigator.userAgent.indexOf(' Chrome/') !== -1) {\n this.browserCache = DeviceType.ChromeBrowser;\n } else if (navigator.userAgent.indexOf(' Trident/') !== -1) {\n this.browserCache = DeviceType.IEBrowser;\n } else {\n this.browserCache = DeviceType.UnknownBrowser;\n }\n\n return this.browserCache;\n }\n\n getDeviceString(): string {\n const device = DeviceType[this.getDevice()].toLowerCase();\n return device.replace('browser', '');\n }\n\n isFirefox(): boolean {\n return this.getDevice() === DeviceType.FirefoxBrowser;\n }\n\n isChrome(): boolean {\n return this.getDevice() === DeviceType.ChromeBrowser;\n }\n\n isEdge(): boolean {\n return this.getDevice() === DeviceType.EdgeBrowser;\n }\n\n isOpera(): boolean {\n return this.getDevice() === DeviceType.OperaBrowser;\n }\n\n isVivaldi(): boolean {\n return this.getDevice() === DeviceType.VivaldiBrowser;\n }\n\n isSafari(): boolean {\n return this.getDevice() === DeviceType.SafariBrowser;\n }\n\n isIE(): boolean {\n return this.getDevice() === DeviceType.IEBrowser;\n }\n\n isMacAppStore(): boolean {\n return false;\n }\n\n analyticsId(): string {\n return 'UA-81915606-3';\n }\n\n getDomain(uriString: string): string {\n return Utils.getHostname(uriString);\n }\n\n isViewOpen(): boolean {\n return false;\n }\n\n lockTimeout(): number {\n return 15;\n }\n\n launchUri(uri: string, options?: any): void {\n const a = document.createElement('a');\n a.href = uri;\n a.target = '_blank';\n a.rel = 'noreferrer noopener';\n a.click();\n }\n\n saveFile(win: Window, blobData: any, blobOptions: any, fileName: string): void {\n let blob: Blob = null;\n if (blobOptions != null && !this.isIE()) {\n blob = new Blob([blobData], blobOptions);\n } else {\n blob = new Blob([blobData]);\n }\n if (navigator.msSaveOrOpenBlob) {\n navigator.msSaveBlob(blob, fileName);\n } else {\n const a = win.document.createElement('a');\n a.href = win.URL.createObjectURL(blob);\n a.download = fileName;\n a.style.position = 'fixed';\n win.document.body.appendChild(a);\n a.click();\n win.document.body.removeChild(a);\n }\n }\n\n getApplicationVersion(): string {\n return process.env.APPLICATION_VERSION || '-';\n }\n\n supportsU2f(win: Window): boolean {\n if (win != null && (win as any).u2f != null) {\n return true;\n }\n return (this.isChrome() || this.isOpera()) && !this.isMobile(win);\n }\n\n supportsDuo(): boolean {\n return true;\n }\n\n showToast(type: 'error' | 'success' | 'warning' | 'info', title: string, text: string, global?: any): void {\n throw new Error('showToast not implemented');\n }\n\n async showDialog(text: string, title?: string, confirmText?: string, cancelText?: string, type?: string) {\n const buttons = [confirmText == null ? this.i18nService.t('ok') : confirmText];\n if (cancelText != null) {\n buttons.unshift(cancelText);\n }\n\n const contentDiv = document.createElement('div');\n if (type != null) {\n const icon = document.createElement('i');\n icon.classList.add('swal-custom-icon');\n switch (type) {\n case 'success':\n icon.classList.add('fa', 'fa-check', 'text-success');\n break;\n case 'warning':\n icon.classList.add('fa', 'fa-warning', 'text-warning');\n break;\n case 'error':\n icon.classList.add('fa', 'fa-bolt', 'text-danger');\n break;\n case 'info':\n icon.classList.add('fa', 'fa-info-circle', 'text-info');\n break;\n default:\n break;\n }\n if (icon.classList.contains('fa')) {\n contentDiv.appendChild(icon);\n }\n }\n\n if (title != null) {\n const titleDiv = document.createElement('div');\n titleDiv.classList.add('swal-title');\n titleDiv.appendChild(document.createTextNode(title));\n contentDiv.appendChild(titleDiv);\n }\n\n if (text != null) {\n const textDiv = document.createElement('div');\n textDiv.classList.add('swal-text');\n textDiv.appendChild(document.createTextNode(text));\n contentDiv.appendChild(textDiv);\n }\n\n const confirmed = await swal({\n content: { element: contentDiv },\n buttons: buttons,\n });\n return confirmed;\n }\n\n isDev(): boolean {\n return process.env.ENV === 'development';\n }\n\n isSelfHost(): boolean {\n return process.env.SELF_HOST.toString() === 'true';\n }\n\n copyToClipboard(text: string, options?: any): void {\n const doc = options ? options.doc : window.document;\n if ((window as any).clipboardData && (window as any).clipboardData.setData) {\n // IE specific code path to prevent textarea being shown while dialog is visible.\n (window as any).clipboardData.setData('Text', text);\n } else if (doc.queryCommandSupported && doc.queryCommandSupported('copy')) {\n const textarea = doc.createElement('textarea');\n textarea.textContent = text;\n // Prevent scrolling to bottom of page in MS Edge.\n textarea.style.position = 'fixed';\n doc.body.appendChild(textarea);\n textarea.select();\n\n try {\n // Security exception may be thrown by some browsers.\n doc.execCommand('copy');\n } catch (e) {\n // tslint:disable-next-line\n console.warn('Copy to clipboard failed.', e);\n } finally {\n doc.body.removeChild(textarea);\n }\n }\n }\n\n private isMobile(win: Window) {\n let mobile = false;\n ((a) => {\n // tslint:disable-next-line\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\n mobile = true;\n }\n })(win.navigator.userAgent || win.navigator.vendor || (win as any).opera);\n\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\n }\n}\n","import { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nexport class MemoryStorageService implements StorageService {\r\n private store = new Map();\r\n\r\n get(key: string): Promise {\r\n if (this.store.has(key)) {\r\n const obj = this.store.get(key);\r\n return Promise.resolve(obj as T);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n if (obj == null) {\r\n return this.remove(key);\r\n }\r\n this.store.set(key, obj);\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n this.store.delete(key);\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { I18nService as BaseI18nService } from 'jslib/services/i18n.service';\n\nexport class I18nService extends BaseI18nService {\n constructor(systemLanguage: string, localesDirectory: string) {\n super(systemLanguage || 'en-US', localesDirectory, async (formattedLocale: string) => {\n const filePath = this.localesDirectory + '/' + formattedLocale + '/messages.json?cache=' +\n process.env.CACHE_TAG;\n const localesResult = await fetch(filePath);\n const locales = await localesResult.json();\n return locales;\n });\n\n this.supportedTranslationLocales = [\n 'en', 'da',\n ];\n }\n}\n","import { OrganizationData } from '../data/organizationData';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class Organization {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n\n constructor(obj?: OrganizationData) {\n if (obj == null) {\n return;\n }\n\n this.id = obj.id;\n this.name = obj.name;\n this.status = obj.status;\n this.type = obj.type;\n this.enabled = obj.enabled;\n this.useGroups = obj.useGroups;\n this.useDirectory = obj.useDirectory;\n this.useEvents = obj.useEvents;\n this.useTotp = obj.useTotp;\n this.use2fa = obj.use2fa;\n this.selfHost = obj.selfHost;\n this.usersGetPremium = obj.usersGetPremium;\n this.seats = obj.seats;\n this.maxCollections = obj.maxCollections;\n this.maxStorageGb = obj.maxStorageGb;\n }\n\n get canAccess() {\n if (this.type === OrganizationUserType.Owner) {\n return true;\n }\n return this.enabled && this.status === OrganizationUserStatusType.Confirmed;\n }\n\n get isAdmin() {\n return this.type === OrganizationUserType.Owner || this.type === OrganizationUserType.Admin;\n }\n\n get isOwner() {\n return this.type === OrganizationUserType.Owner;\n }\n}\n","import { ProfileOrganizationResponse } from '../response/profileOrganizationResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class OrganizationData {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n\n constructor(response: ProfileOrganizationResponse) {\n this.id = response.id;\n this.name = response.name;\n this.status = response.status;\n this.type = response.type;\n this.enabled = response.enabled;\n this.useGroups = response.useGroups;\n this.useDirectory = response.useDirectory;\n this.useEvents = response.useEvents;\n this.useTotp = response.useTotp;\n this.use2fa = response.use2fa;\n this.selfHost = response.selfHost;\n this.usersGetPremium = response.usersGetPremium;\n this.seats = response.seats;\n this.maxCollections = response.maxCollections;\n this.maxStorageGb = response.maxStorageGb;\n }\n}\n","export class PasswordHistory {\r\n password: string;\r\n date: number;\r\n\r\n constructor(password: string, date: number) {\r\n this.password = password;\r\n this.date = date;\r\n }\r\n}\r\n","import { FolderData } from '../data/folderData';\r\n\r\nimport { FolderView } from '../view/folderView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domain';\r\n\r\nexport class Folder extends Domain {\r\n id: string;\r\n name: CipherString;\r\n\r\n constructor(obj?: FolderData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n name: null,\r\n }, alreadyEncrypted, ['id']);\r\n }\r\n\r\n decrypt(): Promise {\r\n return this.decryptObj(new FolderView(this), {\r\n name: null,\r\n }, null);\r\n }\r\n}\r\n","export class EnvironmentUrls {\r\n base: string;\r\n api: string;\r\n identity: string;\r\n}\r\n","/**\n * Use as a Decorator on async functions, it will prevent multiple 'active' calls as the same time\n *\n * If a promise was returned from a previous call to this function, that hasn't yet resolved it will\n * be returned, instead of calling the original function again\n *\n * Results are not cached, once the promise has returned, the next call will result in a fresh call\n *\n * WARNING: The decorator's scope is singleton, so using it on transient objects can lead to memory leaks.\n * Read more at https://github.com/bitwarden/jslib/pull/7\n */\nexport function sequentialize(cacheKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const originalMethod: () => Promise = descriptor.value;\n const caches = new Map>>();\n\n const getCache = (obj: any) => {\n let cache = caches.get(obj);\n if (cache != null) {\n return cache;\n }\n cache = new Map>();\n caches.set(obj, cache);\n return cache;\n };\n\n return {\n value: function(...args: any[]) {\n const argsCacheKey = cacheKey(args);\n const cache = getCache(this);\n let response = cache.get(argsCacheKey);\n if (response != null) {\n return response;\n }\n\n response = originalMethod.apply(this, args).then((val: any) => {\n cache.delete(argsCacheKey);\n return val;\n }).catch((err: any) => {\n cache.delete(argsCacheKey);\n throw err;\n });\n\n cache.set(argsCacheKey, response);\n return response;\n },\n };\n };\n}\n","import { EncryptionType } from '../../enums/encryptionType';\n\nimport { Utils } from '../../misc/utils';\n\nexport class SymmetricCryptoKey {\n key: ArrayBuffer;\n encKey?: ArrayBuffer;\n macKey?: ArrayBuffer;\n encType: EncryptionType;\n\n keyB64: string;\n encKeyB64: string;\n macKeyB64: string;\n\n meta: any;\n\n constructor(key: ArrayBuffer, encType?: EncryptionType) {\n if (key == null) {\n throw new Error('Must provide key');\n }\n\n if (encType == null) {\n if (key.byteLength === 32) {\n encType = EncryptionType.AesCbc256_B64;\n } else if (key.byteLength === 64) {\n encType = EncryptionType.AesCbc256_HmacSha256_B64;\n } else {\n throw new Error('Unable to determine encType.');\n }\n }\n\n this.key = key;\n this.encType = encType;\n\n if (encType === EncryptionType.AesCbc256_B64 && key.byteLength === 32) {\n this.encKey = key;\n this.macKey = null;\n } else if (encType === EncryptionType.AesCbc128_HmacSha256_B64 && key.byteLength === 32) {\n this.encKey = key.slice(0, 16);\n this.macKey = key.slice(16, 32);\n } else if (encType === EncryptionType.AesCbc256_HmacSha256_B64 && key.byteLength === 64) {\n this.encKey = key.slice(0, 32);\n this.macKey = key.slice(32, 64);\n } else {\n throw new Error('Unsupported encType/key length.');\n }\n\n if (this.key != null) {\n this.keyB64 = Utils.fromBufferToB64(this.key);\n }\n if (this.encKey != null) {\n this.encKeyB64 = Utils.fromBufferToB64(this.encKey);\n }\n if (this.macKey != null) {\n this.macKeyB64 = Utils.fromBufferToB64(this.macKey);\n }\n }\n}\n","import { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class EncryptedObject {\n iv: ArrayBuffer;\n data: ArrayBuffer;\n mac: ArrayBuffer;\n key: SymmetricCryptoKey;\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherShareRequest {\n cipher: CipherRequest;\n collectionIds: string[];\n\n constructor(cipher: Cipher) {\n this.cipher = new CipherRequest(cipher);\n this.collectionIds = cipher.collectionIds;\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherBulkShareRequest {\n ciphers: CipherWithIdRequest[];\n collectionIds: string[];\n\n constructor(ciphers: Cipher[], collectionIds: string[]) {\n if (ciphers != null) {\n this.ciphers = [];\n ciphers.forEach((c) => {\n this.ciphers.push(new CipherWithIdRequest(c));\n });\n }\n this.collectionIds = collectionIds;\n }\n}\n","export class CipherBulkMoveRequest {\n ids: string[];\n folderId: string;\n\n constructor(ids: string[], folderId: string) {\n this.ids = ids == null ? [] : ids;\n this.folderId = folderId;\n }\n}\n","export class CipherBulkDeleteRequest {\n ids: string[];\n\n constructor(ids: string[]) {\n this.ids = ids == null ? [] : ids;\n }\n}\n","export class BreachAccountResponse {\n addedDate: Date;\n breachDate: Date;\n dataClasses: string[];\n description: string;\n domain: string;\n isActive: boolean;\n isVerified: boolean;\n logoType: string;\n modifiedDate: Date;\n name: string;\n pwnCount: number;\n title: string;\n\n constructor(response: any) {\n this.addedDate = response.AddedDate;\n this.breachDate = response.BreachDate;\n this.dataClasses = response.DataClasses;\n this.description = response.Description;\n this.domain = response.Domain;\n this.isActive = response.IsActive;\n this.isVerified = response.IsVerified;\n this.logoType = response.LogoType;\n this.modifiedDate = response.ModifiedDate;\n this.name = response.Name;\n this.pwnCount = response.PwnCount;\n this.title = response.Title;\n }\n}\n","export class UserKeyResponse {\n userId: string;\n publicKey: string;\n\n constructor(response: any) {\n this.userId = response.UserId;\n this.publicKey = response.PublicKey;\n }\n}\n","export class TwoFactorYubiKeyResponse {\n enabled: boolean;\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.key1 = response.Key1;\n this.key2 = response.Key2;\n this.key3 = response.Key3;\n this.key4 = response.Key4;\n this.key5 = response.Key5;\n this.nfc = response.Nfc;\n }\n}\n","export class TwoFactorU2fResponse {\n enabled: boolean;\n challenge: ChallengeResponse;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.challenge = response.Challenge == null ? null : new ChallengeResponse(response.Challenge);\n }\n}\n\nexport class ChallengeResponse {\n userId: string;\n appId: string;\n challenge: string;\n version: string;\n\n constructor(response: any) {\n this.userId = response.UserId;\n this.appId = response.AppId;\n this.challenge = response.Challenge;\n this.version = response.Version;\n }\n}\n","export class TwoFactorRecoverResponse {\n code: string;\n\n constructor(response: any) {\n this.code = response.Code;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderResponse {\n enabled: boolean;\n type: TwoFactorProviderType;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.type = response.Type;\n }\n}\n","export class TwoFactorEmailResponse {\n enabled: boolean;\n email: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.email = response.Email;\n }\n}\n","export class TwoFactorDuoResponse {\n enabled: boolean;\n host: string;\n secretKey: string;\n integrationKey: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.host = response.Host;\n this.secretKey = response.SecretKey;\n this.integrationKey = response.IntegrationKey;\n }\n}\n","export class TwoFactorAuthenticatorResponse {\n enabled: boolean;\n key: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.key = response.Key;\n }\n}\n","import { CipherResponse } from './cipherResponse';\nimport { CollectionDetailsResponse } from './collectionResponse';\nimport { DomainsResponse } from './domainsResponse';\nimport { FolderResponse } from './folderResponse';\nimport { ProfileResponse } from './profileResponse';\n\nexport class SyncResponse {\n profile?: ProfileResponse;\n folders: FolderResponse[] = [];\n collections: CollectionDetailsResponse[] = [];\n ciphers: CipherResponse[] = [];\n domains?: DomainsResponse;\n\n constructor(response: any) {\n if (response.Profile) {\n this.profile = new ProfileResponse(response.Profile);\n }\n\n if (response.Folders) {\n response.Folders.forEach((folder: any) => {\n this.folders.push(new FolderResponse(folder));\n });\n }\n\n if (response.Collections) {\n response.Collections.forEach((collection: any) => {\n this.collections.push(new CollectionDetailsResponse(collection));\n });\n }\n\n if (response.Ciphers) {\n response.Ciphers.forEach((cipher: any) => {\n this.ciphers.push(new CipherResponse(cipher));\n });\n }\n\n if (response.Domains) {\n this.domains = new DomainsResponse(response.Domains);\n }\n }\n}\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class ProfileOrganizationResponse {\n id: string;\n name: string;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n key: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.name = response.Name;\n this.useGroups = response.UseGroups;\n this.useDirectory = response.UseDirectory;\n this.useEvents = response.UseEvents;\n this.useTotp = response.UseTotp;\n this.use2fa = response.Use2fa;\n this.selfHost = response.SelfHost;\n this.usersGetPremium = response.UsersGetPremium;\n this.seats = response.Seats;\n this.maxCollections = response.MaxCollections;\n this.maxStorageGb = response.MaxStorageGb;\n this.key = response.Key;\n this.status = response.Status;\n this.type = response.Type;\n this.enabled = response.Enabled;\n }\n}\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class OrganizationUserResponse {\n id: string;\n userId: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n accessAll: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.userId = response.UserId;\n this.type = response.Type;\n this.status = response.Status;\n this.accessAll = response.AccessAll;\n }\n}\n\nexport class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {\n name: string;\n email: string;\n\n constructor(response: any) {\n super(response);\n this.name = response.Name;\n this.email = response.Email;\n }\n}\n\nexport class OrganizationUserDetailsResponse extends OrganizationUserResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Collections != null) {\n this.collections = response.Collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import {\n BillingChargeResponse,\n BillingInvoiceResponse,\n BillingSourceResponse,\n BillingSubscriptionResponse,\n} from './billingResponse';\nimport { OrganizationResponse } from './organizationResponse';\n\nexport class OrganizationBillingResponse extends OrganizationResponse {\n storageName: string;\n storageGb: number;\n paymentSource: BillingSourceResponse;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingInvoiceResponse;\n charges: BillingChargeResponse[] = [];\n expiration: Date;\n\n constructor(response: any) {\n super(response);\n this.storageName = response.StorageName;\n this.storageGb = response.StorageGb;\n this.paymentSource = response.PaymentSource == null ? null : new BillingSourceResponse(response.PaymentSource);\n this.subscription = response.Subscription == null ?\n null : new BillingSubscriptionResponse(response.Subscription);\n this.upcomingInvoice = response.UpcomingInvoice == null ?\n null : new BillingInvoiceResponse(response.UpcomingInvoice);\n if (response.Charges != null) {\n this.charges = response.Charges.map((c: any) => new BillingChargeResponse(c));\n }\n this.expiration = response.Expiration;\n }\n}\n","export class ListResponse {\n data: T[];\n continuationToken: string;\n\n constructor(response: any, t: new (dataResponse: any) => T) {\n this.data = response.Data == null ? [] : response.Data.map((dr: any) => new t(dr));\n this.continuationToken = response.ContinuationToken;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class IdentityTwoFactorResponse {\r\n twoFactorProviders: TwoFactorProviderType[];\r\n twoFactorProviders2 = new Map();\r\n\r\n constructor(response: any) {\r\n this.twoFactorProviders = response.TwoFactorProviders;\r\n if (response.TwoFactorProviders2 != null) {\r\n for (const prop in response.TwoFactorProviders2) {\r\n if (response.TwoFactorProviders2.hasOwnProperty(prop)) {\r\n this.twoFactorProviders2.set(parseInt(prop, null), response.TwoFactorProviders2[prop]);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","export class IdentityTokenResponse {\r\n accessToken: string;\r\n expiresIn: number;\r\n refreshToken: string;\r\n tokenType: string;\r\n\r\n privateKey: string;\r\n key: string;\r\n twoFactorToken: string;\r\n\r\n constructor(response: any) {\r\n this.accessToken = response.access_token;\r\n this.expiresIn = response.expires_in;\r\n this.refreshToken = response.refresh_token;\r\n this.tokenType = response.token_type;\r\n\r\n this.privateKey = response.PrivateKey;\r\n this.key = response.Key;\r\n this.twoFactorToken = response.TwoFactorToken;\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class GroupUserResponse {\n organizationUserId: string;\n accessAll: boolean;\n name: string;\n email: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n\n constructor(response: any) {\n this.organizationUserId = response.OrganizationUserId;\n this.accessAll = response.AccessAll;\n this.name = response.Name;\n this.email = response.Email;\n this.type = response.Type;\n this.status = response.Status;\n }\n}\n","import { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class GroupResponse {\n id: string;\n organizationId: string;\n name: string;\n accessAll: boolean;\n externalId: string;\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.name = response.Name;\n this.accessAll = response.AccessAll;\n this.externalId = response.ExternalId;\n }\n}\n\nexport class GroupDetailsResponse extends GroupResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Collections != null) {\n this.collections = response.Collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { DeviceType } from '../../enums/deviceType';\nimport { EventType } from '../../enums/eventType';\n\nexport class EventResponse {\n type: EventType;\n userId: string;\n organizationId: string;\n cipherId: string;\n collectionId: string;\n groupId: string;\n organizationUserId: string;\n actingUserId: string;\n date: Date;\n deviceType: DeviceType;\n ipAddress: string;\n\n constructor(response: any) {\n this.type = response.Type;\n this.userId = response.UserId;\n this.organizationId = response.OrganizationId;\n this.cipherId = response.CipherId;\n this.collectionId = response.CollectionId;\n this.groupId = response.GroupId;\n this.organizationUserId = response.OrganizationUserId;\n this.actingUserId = response.ActingUserId;\n this.date = response.Date;\n this.deviceType = response.DeviceType;\n this.ipAddress = response.IpAddress;\n }\n}\n","export class ErrorResponse {\n message: string;\n validationErrors: { [key: string]: string[]; };\n statusCode: number;\n\n constructor(response: any, status: number, identityResponse?: boolean) {\n let errorModel = null;\n if (identityResponse && response && response.ErrorModel) {\n errorModel = response.ErrorModel;\n } else if (response) {\n errorModel = response;\n }\n\n if (errorModel) {\n this.message = errorModel.Message;\n this.validationErrors = errorModel.ValidationErrors;\n } else {\n if (status === 429) {\n this.message = 'Rate limit exceeded. Try again later.';\n }\n }\n this.statusCode = status;\n }\n\n getSingleMessage(): string {\n if (this.validationErrors) {\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n if (this.validationErrors[key].length) {\n return this.validationErrors[key][0];\n }\n }\n }\n return this.message;\n }\n}\n","export class GlobalDomainResponse {\r\n type: number;\r\n domains: string[];\r\n excluded: number[];\r\n\r\n constructor(response: any) {\r\n this.type = response.Type;\r\n this.domains = response.Domains;\r\n this.excluded = response.Excluded;\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class CollectionUserResponse {\n organizationUserId: string;\n accessAll: boolean;\n name: string;\n email: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n readOnly: boolean;\n\n constructor(response: any) {\n this.organizationUserId = response.OrganizationUserId;\n this.accessAll = response.AccessAll;\n this.name = response.Name;\n this.email = response.Email;\n this.type = response.Type;\n this.status = response.Status;\n this.readOnly = response.ReadOnly;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nexport class SecureNoteApi {\r\n type: SecureNoteType;\r\n\r\n constructor(data: any) {\r\n this.type = data.Type;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nexport class LoginUriApi {\r\n uri: string;\r\n match: UriMatchType = null;\r\n\r\n constructor(data: any) {\r\n this.uri = data.Uri;\r\n this.match = data.Match != null ? data.Match : null;\r\n }\r\n}\r\n","import { LoginUriApi } from './loginUriApi';\r\n\r\nexport class LoginApi {\r\n uris: LoginUriApi[];\r\n username: string;\r\n password: string;\r\n totp: string;\r\n\r\n constructor(data: any) {\r\n this.username = data.Username;\r\n this.password = data.Password;\r\n this.totp = data.Totp;\r\n\r\n if (data.Uris) {\r\n this.uris = [];\r\n data.Uris.forEach((u: any) => {\r\n this.uris.push(new LoginUriApi(u));\r\n });\r\n }\r\n }\r\n}\r\n","export class IdentityApi {\r\n title: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n constructor(data: any) {\r\n this.title = data.Title;\r\n this.firstName = data.FirstName;\r\n this.middleName = data.MiddleName;\r\n this.lastName = data.LastName;\r\n this.address1 = data.Address1;\r\n this.address2 = data.Address2;\r\n this.address3 = data.Address3;\r\n this.city = data.City;\r\n this.state = data.State;\r\n this.postalCode = data.PostalCode;\r\n this.country = data.Country;\r\n this.company = data.Company;\r\n this.email = data.Email;\r\n this.phone = data.Phone;\r\n this.ssn = data.SSN;\r\n this.username = data.Username;\r\n this.passportNumber = data.PassportNumber;\r\n this.licenseNumber = data.LicenseNumber;\r\n }\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nexport class FieldApi {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(response: any) {\r\n this.type = response.Type;\r\n this.name = response.Name;\r\n this.value = response.Value;\r\n }\r\n}\r\n","export class CardApi {\r\n cardholderName: string;\r\n brand: string;\r\n number: string;\r\n expMonth: string;\r\n expYear: string;\r\n code: string;\r\n\r\n constructor(data: any) {\r\n this.cardholderName = data.CardholderName;\r\n this.brand = data.Brand;\r\n this.number = data.Number;\r\n this.expMonth = data.ExpMonth;\r\n this.expYear = data.ExpYear;\r\n this.code = data.Code;\r\n }\r\n}\r\n","export class AttachmentResponse {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n size: number;\r\n sizeName: string;\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.url = response.Url;\r\n this.fileName = response.FileName;\r\n this.size = response.Size;\r\n this.sizeName = response.SizeName;\r\n }\r\n}\r\n","export { ApiService } from './api.service';\nexport { AppIdService } from './appId.service';\nexport { AuditService } from './audit.service';\nexport { AuthService } from './auth.service';\nexport { CipherService } from './cipher.service';\nexport { CollectionService } from './collection.service';\nexport { ConstantsService } from './constants.service';\nexport { ContainerService } from './container.service';\nexport { CryptoService } from './crypto.service';\nexport { EnvironmentService } from './environment.service';\nexport { FolderService } from './folder.service';\nexport { I18nService } from './i18n.service';\nexport { LockService } from './lock.service';\nexport { PasswordGenerationService } from './passwordGeneration.service';\nexport { SettingsService } from './settings.service';\nexport { StateService } from './state.service';\nexport { SyncService } from './sync.service';\nexport { TokenService } from './token.service';\nexport { TotpService } from './totp.service';\nexport { UserService } from './user.service';\n","import { StorageService } from 'jslib/abstractions/storage.service';\nimport { ConstantsService } from 'jslib/services';\n\nexport class HtmlStorageService implements StorageService {\n private localStorageKeys = new Set(['appId', 'anonymousAppId', 'rememberedEmail', 'passwordGenerationOptions',\n ConstantsService.disableFaviconKey, ConstantsService.lockOptionKey, 'rememberEmail',\n ConstantsService.localeKey, ConstantsService.lockOptionKey]);\n private localStorageStartsWithKeys = ['twoFactorToken_'];\n\n get(key: string): Promise {\n let json: string = null;\n if (this.isLocalStorage(key)) {\n json = window.localStorage.getItem(key);\n } else {\n json = window.sessionStorage.getItem(key);\n }\n if (json != null) {\n const obj = JSON.parse(json);\n return Promise.resolve(obj as T);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n if (obj == null) {\n return this.remove(key);\n }\n\n const json = JSON.stringify(obj);\n if (this.isLocalStorage(key)) {\n window.localStorage.setItem(key, json);\n } else {\n window.sessionStorage.setItem(key, json);\n }\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n if (this.isLocalStorage(key)) {\n window.localStorage.removeItem(key);\n } else {\n window.sessionStorage.removeItem(key);\n }\n return Promise.resolve();\n }\n\n private isLocalStorage(key: string): boolean {\n if (this.localStorageKeys.has(key)) {\n return true;\n }\n for (const swKey of this.localStorageStartsWithKeys) {\n if (key.startsWith(swKey)) {\n return true;\n }\n }\n return false;\n }\n}\n","import { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nexport class BroadcasterMessagingService implements MessagingService {\r\n constructor(private broadcasterService: BroadcasterService) { }\r\n\r\n send(subscriber: string, arg: any = {}) {\r\n const message = Object.assign({}, { command: subscriber }, arg);\r\n this.broadcasterService.send(message);\r\n }\r\n}\r\n","import {\n APP_INITIALIZER,\n LOCALE_ID,\n NgModule,\n} from '@angular/core';\n\nimport { ToasterModule } from 'angular2-toaster';\n\nimport { BroadcasterMessagingService } from '../../services/broadcasterMessaging.service';\nimport { HtmlStorageService } from '../../services/htmlStorage.service';\nimport { I18nService } from '../../services/i18n.service';\nimport { MemoryStorageService } from '../../services/memoryStorage.service';\nimport { WebPlatformUtilsService } from '../../services/webPlatformUtils.service';\n\nimport { EventService } from './event.service';\nimport { OrganizationGuardService } from './organization-guard.service';\nimport { OrganizationTypeGuardService } from './organization-type-guard.service';\nimport { RouterService } from './router.service';\nimport { UnauthGuardService } from './unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\nimport { ValidationService } from 'jslib/angular/services/validation.service';\n\nimport { Analytics } from 'jslib/misc/analytics';\n\nimport { ApiService } from 'jslib/services/api.service';\nimport { AppIdService } from 'jslib/services/appId.service';\nimport { AuditService } from 'jslib/services/audit.service';\nimport { AuthService } from 'jslib/services/auth.service';\nimport { CipherService } from 'jslib/services/cipher.service';\nimport { CollectionService } from 'jslib/services/collection.service';\nimport { ConstantsService } from 'jslib/services/constants.service';\nimport { ContainerService } from 'jslib/services/container.service';\nimport { CryptoService } from 'jslib/services/crypto.service';\nimport { EnvironmentService } from 'jslib/services/environment.service';\nimport { ExportService } from 'jslib/services/export.service';\nimport { FolderService } from 'jslib/services/folder.service';\nimport { LockService } from 'jslib/services/lock.service';\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\nimport { SettingsService } from 'jslib/services/settings.service';\nimport { StateService } from 'jslib/services/state.service';\nimport { SyncService } from 'jslib/services/sync.service';\nimport { TokenService } from 'jslib/services/token.service';\nimport { TotpService } from 'jslib/services/totp.service';\nimport { UserService } from 'jslib/services/user.service';\nimport { WebCryptoFunctionService } from 'jslib/services/webCryptoFunction.service';\n\nimport { ApiService as ApiServiceAbstraction } from 'jslib/abstractions/api.service';\nimport { AppIdService as AppIdServiceAbstraction } from 'jslib/abstractions/appId.service';\nimport { AuditService as AuditServiceAbstraction } from 'jslib/abstractions/audit.service';\nimport { AuthService as AuthServiceAbstraction } from 'jslib/abstractions/auth.service';\nimport { CipherService as CipherServiceAbstraction } from 'jslib/abstractions/cipher.service';\nimport { CollectionService as CollectionServiceAbstraction } from 'jslib/abstractions/collection.service';\nimport { CryptoService as CryptoServiceAbstraction } from 'jslib/abstractions/crypto.service';\nimport { CryptoFunctionService as CryptoFunctionServiceAbstraction } from 'jslib/abstractions/cryptoFunction.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from 'jslib/abstractions/environment.service';\nimport { ExportService as ExportServiceAbstraction } from 'jslib/abstractions/export.service';\nimport { FolderService as FolderServiceAbstraction } from 'jslib/abstractions/folder.service';\nimport { I18nService as I18nServiceAbstraction } from 'jslib/abstractions/i18n.service';\nimport { LockService as LockServiceAbstraction } from 'jslib/abstractions/lock.service';\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\nimport { SettingsService as SettingsServiceAbstraction } from 'jslib/abstractions/settings.service';\nimport { StateService as StateServiceAbstraction } from 'jslib/abstractions/state.service';\nimport { StorageService as StorageServiceAbstraction } from 'jslib/abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from 'jslib/abstractions/sync.service';\nimport { TokenService as TokenServiceAbstraction } from 'jslib/abstractions/token.service';\nimport { TotpService as TotpServiceAbstraction } from 'jslib/abstractions/totp.service';\nimport { UserService as UserServiceAbstraction } from 'jslib/abstractions/user.service';\n\nconst i18nService = new I18nService(window.navigator.language, 'locales');\nconst stateService = new StateService();\nconst broadcasterService = new BroadcasterService();\nconst messagingService = new BroadcasterMessagingService(broadcasterService);\nconst platformUtilsService = new WebPlatformUtilsService(i18nService);\nconst storageService: StorageServiceAbstraction = new HtmlStorageService();\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\n platformUtilsService);\nconst cryptoService = new CryptoService(storageService,\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService);\nconst tokenService = new TokenService(storageService);\nconst appIdService = new AppIdService(storageService);\nconst apiService = new ApiService(tokenService, platformUtilsService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst environmentService = new EnvironmentService(apiService, storageService);\nconst userService = new UserService(tokenService, storageService);\nconst settingsService = new SettingsService(userService, storageService);\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\n apiService, storageService, i18nService, platformUtilsService);\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\n i18nService, cipherService);\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\nconst lockService = new LockService(cipherService, folderService, collectionService,\n cryptoService, platformUtilsService, storageService, messagingService, null);\nconst syncService = new SyncService(userService, apiService, settingsService,\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService);\nconst totpService = new TotpService(storageService, cryptoFunctionService);\nconst containerService = new ContainerService(cryptoService, platformUtilsService);\nconst authService = new AuthService(cryptoService, apiService,\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService);\nconst exportService = new ExportService(folderService, cipherService, apiService);\nconst auditService = new AuditService(cryptoFunctionService, apiService);\n\nconst analytics = new Analytics(window, () => platformUtilsService.isDev() || platformUtilsService.isSelfHost(),\n platformUtilsService, storageService, appIdService);\ncontainerService.attachToWindow(window);\n\nexport function initFactory(): Function {\n return async () => {\n const isDev = platformUtilsService.isDev();\n if (!isDev && platformUtilsService.isSelfHost()) {\n environmentService.baseUrl = window.location.origin;\n }\n await apiService.setUrls({\n base: isDev ? null : window.location.origin,\n api: isDev ? 'http://localhost:4000' : null,\n identity: isDev ? 'http://localhost:33656' : null,\n });\n\n lockService.init(true);\n const locale = await storageService.get(ConstantsService.localeKey);\n await i18nService.init(locale);\n await authService.init();\n const htmlEl = window.document.documentElement;\n htmlEl.classList.add('locale_' + i18nService.translationLocale);\n let theme = await storageService.get(ConstantsService.themeKey);\n if (theme == null) {\n theme = 'light';\n }\n htmlEl.classList.add('theme_' + theme);\n stateService.save(ConstantsService.disableFaviconKey,\n await storageService.get(ConstantsService.disableFaviconKey));\n };\n}\n\n@NgModule({\n imports: [\n ToasterModule,\n ],\n declarations: [],\n providers: [\n ValidationService,\n AuthGuardService,\n OrganizationGuardService,\n OrganizationTypeGuardService,\n UnauthGuardService,\n RouterService,\n EventService,\n { provide: AuditServiceAbstraction, useValue: auditService },\n { provide: AuthServiceAbstraction, useValue: authService },\n { provide: CipherServiceAbstraction, useValue: cipherService },\n { provide: FolderServiceAbstraction, useValue: folderService },\n { provide: CollectionServiceAbstraction, useValue: collectionService },\n { provide: EnvironmentServiceAbstraction, useValue: environmentService },\n { provide: TotpServiceAbstraction, useValue: totpService },\n { provide: TokenServiceAbstraction, useValue: tokenService },\n { provide: I18nServiceAbstraction, useValue: i18nService },\n { provide: CryptoServiceAbstraction, useValue: cryptoService },\n { provide: PlatformUtilsServiceAbstraction, useValue: platformUtilsService },\n { provide: PasswordGenerationServiceAbstraction, useValue: passwordGenerationService },\n { provide: ApiServiceAbstraction, useValue: apiService },\n { provide: SyncServiceAbstraction, useValue: syncService },\n { provide: UserServiceAbstraction, useValue: userService },\n { provide: MessagingServiceAbstraction, useValue: messagingService },\n { provide: BroadcasterService, useValue: broadcasterService },\n { provide: SettingsServiceAbstraction, useValue: settingsService },\n { provide: LockServiceAbstraction, useValue: lockService },\n { provide: StorageServiceAbstraction, useValue: storageService },\n { provide: StateServiceAbstraction, useValue: stateService },\n { provide: ExportServiceAbstraction, useValue: exportService },\n {\n provide: APP_INITIALIZER,\n useFactory: initFactory,\n deps: [],\n multi: true,\n },\n {\n provide: LOCALE_ID,\n useFactory: () => i18nService.translationLocale,\n deps: [],\n },\n ],\n})\nexport class ServicesModule {\n}\n","\r\n\r\n","
\n
\n
\n
\n

{{'updateEncryptionKey' | i18n}}

\n \n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}} {{'updateEncryptionKeyDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n {{'updateEncryptionKeyWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n YubiKey\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorYubikeyWarning' | i18n}}

\n
    \n
  • {{'twoFactorYubikeySupportUsb' | i18n}}
  • \n
  • {{'twoFactorYubikeySupportMobile' | i18n}}
  • \n
\n
\n \"\"\n

{{'twoFactorYubikeyAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorYubikeyPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorYubikeySelectKey' | i18n}}
  4. \n
  5. {{'twoFactorYubikeyTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorYubikeySaveForm' | i18n}}
  8. \n
\n
\n
\n
\n \n \n
\n {{k.existingKey}}\n \n
\n
\n
\n {{'nfcSupport' | i18n}}\n
\n \n \n
\n {{'twoFactorYubikeySupportsNfcDesc' | i18n}}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n FIDO U2F\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorU2fWarning' | i18n}}

\n
    \n
  • {{'twoFactorU2fSupportWeb' | i18n}}
  • \n
\n
\n \n \"\"\n

{{'twoFactorU2fAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorU2fPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorU2fTouchButton' | i18n}}
  4. \n
\n
\n
\n \n

\n \n

\n {{'twoFactorU2fWaiting' | i18n}}...\n
\n \n

\n \n

\n {{'twoFactorU2fClickEnable' | i18n}}\n
\n \n

\n \n

\n {{'twoFactorU2fProblemReading' | i18n}}\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'recoveryCodeTitle' | i18n}}\n

\n \n
\n \n \n \n
\n \n

{{'twoFactorRecoveryYourCode' | i18n}}:

\n {{code}}\n
\n \n {{'twoFactorRecoveryNoCode' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'twoStepOptions' | i18n}}

\n \n
\n \n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'emailTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n {{'email' | i18n}}: {{email}}\n \n \n

\n {{'twoFactorEmailDesc' | i18n}}\n \"\"\n

\n
\n \n \n
\n
\n \n \n {{'verificationCodeEmailSent' | i18n : sentEmail}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n Duo\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \"\"\n {{'twoFactorDuoIntegrationKey' | i18n}}: {{ikey}}\n
\n {{'twoFactorDuoSecretKey' | i18n}}: {{skey}}\n
\n {{'twoFactorDuoApiHostname' | i18n}}: {{host}}\n
\n \n \"\"\n

{{'twoFactorDuoDesc' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'authenticatorAppTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \"\"\n

{{'twoStepAuthenticatorDesc' | i18n}}

\n

\n 1. {{'twoStepAuthenticatorDownloadApp' | i18n}}\n

\n
\n \n \n

{{'twoStepLoginProviderEnabled' | i18n}}

\n {{'twoStepAuthenticatorReaddDesc' | i18n}}\n
\n \"\"\n

{{'twoStepAuthenticatorNeedApp' | i18n}}

\n
\n \n

{{'twoStepAuthenticatorAppsRecommended' | i18n}}

\n

\n 2. {{'twoStepAuthenticatorScanCode' | i18n}}\n

\n
\n

\n
\n {{key}}\n

\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'share' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'shareDesc' | i18n}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'purgeVault' | i18n}}

\n \n
\n
\n

{{'purgeVaultDesc' | i18n}}

\n {{'purgeVaultWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'passwordHistory' | i18n}}

\n \n
\n
    \n
  • \n
    \n
    {{h.password}}
    \n {{h.date | date:'medium'}}\n
    \n
    \n \n
    \n
  • \n
\n
\n {{'noPasswordsInList' | i18n}}\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'groupAccess' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n

{{'groupAccessUserDesc' | i18n}}

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{g.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{title}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n \n

{{'inviteUserDesc' | i18n}}

\n
\n \n \n {{'inviteMultipleEmailDesc' | i18n : '20'}}\n
\n
\n

{{'userType' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdGroupDesc' | i18n}}\n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'userAccess' | i18n}}\n {{entityName}}\n

\n \n
\n
\n \n
\n
\n \n {{'noUsersInList' | i18n}}\n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n \n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'eventLogs' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n
\n {{'noEventsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'collections' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'collectionsDesc' | i18n}}

\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n

\n {{'groupAccess' | i18n}}\n
\n \n \n
\n

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n \n {{g.name}}\n \n \n \n \n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'attachments' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n {{a.fileName}}\n
\n {{a.sizeName}}\n
\n \n
\n

{{'newAttachment' | i18n}}

\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n {{totpSec}}\n \n \n \n \n \n \n \n {{totpCodeFormatted}}\n \n
\n
\n
\n \n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n \n {{'newUri' | i18n}}\n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

{{'customFields' | i18n}}

\n \n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n {{'newCustomField' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n","","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteOrganization' | i18n}}

\n \n
\n
\n

{{'deleteOrganizationDesc' | i18n}}

\n {{'deleteOrganizationWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteAccount' | i18n}}

\n \n
\n
\n

{{'deleteAccountDesc' | i18n}}

\n {{'deleteAccountWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deauthorizeSessions' | i18n}}

\n \n
\n
\n

{{'deauthorizeSessionsDesc' | i18n}}

\n {{'deauthorizeSessionsWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'shareSelected' | i18n}}\n

\n \n
\n
\n

{{'shareManyDesc' | i18n}}

\n

{{'shareSelectedItemsDesc' | i18n: this.ciphers.length : shareableCiphers.length : nonShareableCount}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'moveSelected' | i18n}}\n

\n \n
\n
\n

{{'moveSelectedItemsDesc' | i18n: cipherIds.length}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'deleteSelected' | i18n}}\n

\n \n
\n
\n {{'deleteSelectedItemsDesc' | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\n
\n
\n","export class VerifyBankRequest {\n amount1: number;\n amount2: number;\n}\n","export class SeatRequest {\n seatAdjustment: number;\n}\n","
\n
\n

{{(add ? 'addSeats' : 'removeSeats') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{seatAdjustment || 0}} × {{seatPrice | currency:'$'}} = {{adjustedSeatTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'seatsAddNote' : 'seatsRemoveNote') | i18n}}\n \n
\n
\n","
\n

\n {{'billingAndLicensing' | i18n}}\n \n \n \n

\n
\n\n\n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'billingPlan' | i18n}}
\n
{{billing.plan}}
\n
{{'expiration' | i18n}}
\n
{{billing.expiration | date:'mediumDate'}}
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'billingPlan' | i18n}}
\n
{{billing.plan}}
\n \n
{{'status' | i18n}}
\n
\n {{subscription.status || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$'))\n : '-'}}\n
\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n \n
\n

{{'userSeats' | i18n}}

\n

{{'subscriptionUserSeats' | i18n : billing.seats}}

\n \n
\n
\n \n \n
\n \n
\n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : billing.maxStorageGb || 0 : billing.storageName || '0 MB'}}

\n
\n
{{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n \n \n

{{'verifyBankAccountDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}

\n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n

\n \n {{paymentSource.description}}\n

\n
\n \n \n \n

{{'charges' | i18n}}

\n

{{'noCharges' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.createdDate | date:'mediumDate'}}{{c.paymentSource ? c.paymentSource.description : '-'}}{{c.status}}{{c.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n
\n","
\n

{{'twoStepLogin' | i18n}}

\n
\n

{{'twoStepLoginDesc' | i18n}}

\n

{{'twoStepLoginOrganizationDesc' | i18n}}

\n\n

{{'twoStepLoginRecoveryWarning' | i18n}}

\n \n
\n

\n {{'providers' | i18n}}\n \n \n \n

\n\n\n\n\n\n\n\n\n","export class OrganizationUpdateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n}\n","
\n

{{'myOrganization' | i18n}}

\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n

{{'taxInformation' | i18n}}

\n
\n
\n
{{org.businessAddress1}}
\n
{{org.businessAddress2}}
\n
{{org.businessAddress3}}
\n
{{org.businessCountry}}
\n
{{org.businessTaxNumber}}
\n
\n

{{'taxInformationDesc' | i18n}}

\n\n {{'contactSupport' | i18n}}\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n
\n
\n\n","
\n \n
\n","export class OrganizationUserUpdateGroupsRequest {\n groupIds: string[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserUpdateRequest {\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserInviteRequest {\n emails: string[] = [];\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","export class OrganizationUserConfirmRequest {\n key: string;\n}\n","
\n

{{'people' | i18n}}

\n
\n
\n \n \n \n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noUsersInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n\n\n\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class GroupRequest {\n name: string;\n accessAll: boolean;\n externalId: string;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","
\n

{{'groups' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noGroupsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{g.name}}\n \n \n
\n
\n\n\n","
\n

{{'eventLogs' | i18n}}

\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n\n\n

{{'noEventsInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n","
\n

{{'collections' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noCollectionsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{c.name}}\n \n \n
\n
\n\n\n","
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n","
\n
\n

{{'exportVault' | i18n}}

\n
\n

{{'exportMasterPassword' | i18n}}

\n {{'exportWarning' | i18n}}\n
\n
\n \n \n
\n
\n \n
\n","import { CipherRequest } from './cipherRequest';\nimport { CollectionRequest } from './collectionRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportOrganizationCiphersRequest {\n ciphers: CipherRequest[] = [];\n collections: CollectionRequest[] = [];\n collectionRelationships: Array> = [];\n}\n","
\n

{{'importData' | i18n}}

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/export-your-data/\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-lastpass/\n \n \n Using the KeePassX desktop application, navigate to \"Database\" → \"Export to CSV file\" and save the CSV file.\n \n \n In the Avira web vault, go to \"Settings\" → \"My Data\" → \"Export data\" and save the CSV file.\n \n \n In the Blur web vault, click your username at the top and go to \"Settings\" → \"Export Data\", then click \"Export CSV\"\n for your \"Accounts\".\n \n \n Using the SaveInCloud desktop application, navigate to \"File\" → \"Export\" → \"As XML\" and save the XML file.\n \n \n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to \"Settings\" →\n \"Export\" button and save the file \"As CSV\".\n \n \n Using the KeePass 2 desktop application, navigate to \"File\" → \"Export\" and select the \"KeePass XML (2.x)\" option.\n \n \n Using the Universal Password Manager desktop application, navigate to \"Database\" → \"Export\" and save the CSV file.\n \n \n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to \"Settings\". Click\n the \"Export accounts\" button to save the CSV file.\n \n \n Using the Meldium web vault, navigate to \"Settings\". Locate the \"Export data\" function and click \"Show me my data\" to save\n the CSV file.\n \n \n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to \"Backup\" (top right) and find the \"Export to .csv File\"\n option. Click \"Export Now\" to save the CSV file.\n \n \n \n The process is exactly the same as importing from Google Chrome.\n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-chrome/\n \n \n Use the\n FF Password Exporter application to export your passwords to a CSV file.\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-1password/.\n \n \n Using the Password Dragon desktop application, navigate to \"File\" → \"Export\" → \"To XML\". In the dialog that pops\n up select \"All Rows\" and check all fields. Click the \"Export\" button and save the XML file.\n \n \n Using the Enpass desktop application, navigate to \"File\" → \"Export\" → \"As CSV\". Select \"OK\" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n \n \n Using the Password Safe desktop application, navigate to \"File\" → \"Export To\" → \"XML format...\" and save the XML\n file.\n \n \n Using the Dashlane desktop application, navigate to \"File\" → \"Export\" → \"Unsecured archive (readable) in CSV format\"\n and save the CSV file.\n \n \n Using the mSecure desktop application, navigate to \"File\" → \"Export\" → \"CSV File...\" and save the CSV file.\n \n \n Using the Sticky Password desktop application, navigate to \"Menu\" (top right) → \"Export\" → \"Export all\". Select\n the unencrypted format XML option and save the XML file.\n \n \n Using the True Key desktop application, click the gear icon (top right) and then navigate to \"App Settings\". Click the \"Export\"\n button, enter your password and save the CSV file.\n \n \n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to \"Data\" → \"Export\". Click the \"download HTML+JSON\" button to save the HTML file.\n \n \n Using the RoboForm Editor desktop application, navigate to \"RoboForm\" (top left) → \"Options\" → \"Account & Data\"\n and click the \"Export\" button. Select all of your data, change the \"Format\" to \"CSV file\" and then click the\n \"Export\" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n \n \n Log into the Passbolt web vault and navigate to the \"Passwords\" listing. Select all of the passwords you would like to export\n and click the \"Export\" button at the top of the listing. Choose the \"csv (lastpass)\" export format and click\n the \"Export\" button.\n \n \n Using the Ascendo DataVault desktop application, navigate to \"Tools\" → \"Export\". In the dialog that pops up, select\n the \"All Items (DVX, CSV)\" option. Click the \"Ok\" button to save the CSV file.\n \n \n Using the Password Boss desktop application, navigate to \"File\" → \"Export data\" → \"Password Boss JSON - not encrypted\"\n and save the JSON file.\n \n \n Log into the Zoho web vault (vault.zoho.com). Navigate to \"Tools\" → \"Export Secrets\". Select \"All Secrets\" and click\n the \"Zoho Vault Format CSV\" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n zoho_export.csv.\n \n \n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to \"Export\"\n → \"Export as CSV\" and save the CSV file.\n \n \n Using the PassKeep mobile app, navigate to \"Backup/Restore\". Locate the \"CSV Backup/Restore\" section and click \"Backup to\n CSV\" to save the CSV file.\n \n \n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n GNOME Keyring Import/Export python script to your desktop as\n pw_helper.py. Open terminal and run\n chmod +rx Desktop/pw_helper.py and then\n python Desktop/pw_helper.py export Desktop/my_passwords.json. Then upload the resulting\n my_passwords.json file here to Bitwarden.\n \n \n Using the Password Agent desktop application navigate to \"File\" → \"Export\", select the \"Fields to export\" button and\n check all of the fields, change the \"Output format\" to \"CSV\", and then click the \"Start\" button to save the CSV\n file.\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n","
\r\n
\r\n
\r\n
\r\n
{{'tools' | i18n}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","export enum EventType {\n User_LoggedIn = 1000,\n User_ChangedPassword = 1001,\n User_Enabled2fa = 1002,\n User_Disabled2fa = 1003,\n User_Recovered2fa = 1004,\n User_FailedLogIn = 1005,\n User_FailedLogIn2fa = 1006,\n\n Cipher_Created = 1100,\n Cipher_Updated = 1101,\n Cipher_Deleted = 1102,\n Cipher_AttachmentCreated = 1103,\n Cipher_AttachmentDeleted = 1104,\n Cipher_Shared = 1105,\n Cipher_UpdatedCollections = 1106,\n\n Collection_Created = 1300,\n Collection_Updated = 1301,\n Collection_Deleted = 1302,\n\n Group_Created = 1400,\n Group_Updated = 1401,\n Group_Deleted = 1402,\n\n OrganizationUser_Invited = 1500,\n OrganizationUser_Confirmed = 1501,\n OrganizationUser_Updated = 1502,\n OrganizationUser_Removed = 1503,\n OrganizationUser_UpdatedGroups = 1504,\n\n Organization_Updated = 1600,\n\n}\n","\n 0\">\n \n \n \n \n \n \n \n \n
\n \n \n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n
\n
\n \n \n

{{'noItemsInList' | i18n}}

\n \n
\n
\n
\n","
\n
\n Filters\n
\n
\n \n \n

{{'types' | i18n}}

\n \n

\n \n

\n \n \n

\n {{'folders' | i18n}}\n \n \n \n

\n \n
\n \n

{{'collections' | i18n}}

\n \n
\n
\n
\n
\n","
\n
\n
\n \n \n
\n
\n
\n

{{'vault' | i18n}}

\n \n
\n \n \n
\n
\n
\n\n\n\n\n","\n
\n
\n
\n \n
\n {{organization.name}}\n {{'organization' | i18n}}\n
\n
\n \n
\n
\n\n\n","
\n

{{'dataBreachReport' | i18n}}

\n
\n

{{'breachDesc' | i18n}}

\n
\n
\n
\n \n \n {{'breachCheckUsernameEmail' | i18n}}\n
\n
\n \n
\n
\n

{{'reportError' | i18n}}...

\n \n \n {{'breachUsernameNotFound' | i18n : checkedUsername}}\n \n \n {{'breachUsernameFound' | i18n : checkedUsername : breachedAccounts.length}}\n \n
    \n
  • \n
    \n
    \n \"\"\n
    \n
    \n

    {{a.title}}

    \n

    \n

    {{'compromisedData' | i18n}}:

    \n
      \n
    • {{d}}
    • \n
    \n
    \n
    \n
    \n
    {{'website' | i18n}}
    \n
    {{a.domain}}
    \n
    {{'affectedUsers' | i18n}}
    \n
    {{a.pwnCount | number}}
    \n
    {{'breachOccurred' | i18n}}
    \n
    {{a.breachDate | date: 'mediumDate'}}
    \n
    {{'breachReported' | i18n}}
    \n
    {{a.addedDate | date: 'mediumDate'}}
    \n
    \n
    \n
    \n
  • \n
\n
\n
\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { OnInit } from '@angular/core';\r\n\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { PasswordHistory } from '../../models/domain/passwordHistory';\r\n\r\nexport class PasswordGeneratorHistoryComponent implements OnInit {\r\n history: PasswordHistory[] = [];\r\n\r\n constructor(protected passwordGenerationService: PasswordGenerationService, protected analytics: Angulartics2,\r\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\r\n protected toasterService: ToasterService, private win: Window) { }\r\n\r\n async ngOnInit() {\r\n this.history = await this.passwordGenerationService.getHistory();\r\n }\r\n\r\n clear() {\r\n this.history = [];\r\n this.passwordGenerationService.clear();\r\n }\r\n\r\n copy(password: string) {\r\n this.analytics.eventTrack.next({ action: 'Copied Historical Password' });\n const copyOptions = this.win != null ? { doc: this.win.document } : null;\r\n this.platformUtilsService.copyToClipboard(password, copyOptions);\r\n this.toasterService.popAsync('info', null, this.i18nService.t('valueCopied', this.i18nService.t('password')));\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class PasswordGeneratorComponent implements OnInit {\n @Input() showSelect: boolean = false;\n @Output() onSelected = new EventEmitter();\n\n options: any = {};\n password: string = '-';\n showOptions = false;\n avoidAmbiguous = false;\n\n constructor(protected passwordGenerationService: PasswordGenerationService, protected analytics: Angulartics2,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n protected toasterService: ToasterService, private win: Window) { }\n\n async ngOnInit() {\n this.options = await this.passwordGenerationService.getOptions();\n this.avoidAmbiguous = !this.options.ambiguous;\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n this.analytics.eventTrack.next({ action: 'Generated Password' });\n await this.passwordGenerationService.addHistory(this.password);\n }\n\n async sliderChanged() {\n this.saveOptions(false);\n await this.passwordGenerationService.addHistory(this.password);\n this.analytics.eventTrack.next({ action: 'Regenerated Password' });\n }\n\n async sliderInput() {\n this.normalizeOptions();\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n }\n\n async saveOptions(regenerate: boolean = true) {\n this.normalizeOptions();\n await this.passwordGenerationService.saveOptions(this.options);\n\n if (regenerate) {\n await this.regenerate();\n }\n }\n\n async regenerate() {\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n await this.passwordGenerationService.addHistory(this.password);\n this.analytics.eventTrack.next({ action: 'Regenerated Password' });\n }\n\n copy() {\n this.analytics.eventTrack.next({ action: 'Copied Generated Password' });\n const copyOptions = this.win != null ? { doc: this.win.document } : null;\n this.platformUtilsService.copyToClipboard(this.password, copyOptions);\n this.toasterService.popAsync('info', null, this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n\n select() {\n this.analytics.eventTrack.next({ action: 'Selected Generated Password' });\n this.onSelected.emit(this.password);\n }\n\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n\n private normalizeOptions() {\n this.options.minLowercase = 0;\n this.options.minUppercase = 0;\n this.options.ambiguous = !this.avoidAmbiguous;\n\n if (!this.options.uppercase && !this.options.lowercase && !this.options.number && !this.options.special) {\n this.options.lowercase = true;\n const lowercase = document.querySelector('#lowercase') as HTMLInputElement;\n if (lowercase) {\n lowercase.checked = true;\n }\n }\n\n if (!this.options.length || this.options.length < 5) {\n this.options.length = 5;\n } else if (this.options.length > 128) {\n this.options.length = 128;\n }\n\n if (!this.options.minNumber) {\n this.options.minNumber = 0;\n } else if (this.options.minNumber > this.options.length) {\n this.options.minNumber = this.options.length;\n } else if (this.options.minNumber > 9) {\n this.options.minNumber = 9;\n }\n\n if (!this.options.minSpecial) {\n this.options.minSpecial = 0;\n } else if (this.options.minSpecial > this.options.length) {\n this.options.minSpecial = this.options.length;\n } else if (this.options.minSpecial > 9) {\n this.options.minSpecial = 9;\n }\n\n if (this.options.minSpecial + this.options.minNumber > this.options.length) {\n this.options.minSpecial = this.options.length - this.options.minNumber;\n }\n }\n}\n","
\n

{{'passwordGenerator' | i18n}}

\n
\n
\n
\n {{password}}\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n\n","import { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { ExportService } from '../../abstractions/export.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { UserService } from '../../abstractions/user.service';\n\nexport class ExportComponent {\n @Output() onSaved = new EventEmitter();\n\n formPromise: Promise;\n masterPassword: string;\n showPassword = false;\n\n constructor(protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected cryptoService: CryptoService, protected userService: UserService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected exportService: ExportService, protected win: Window) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n return;\n }\n\n const email = await this.userService.getEmail();\n const key = await this.cryptoService.makeKey(this.masterPassword, email);\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n const storedKeyHash = await this.cryptoService.getKeyHash();\n\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\n try {\n this.formPromise = this.getExportData();\n const data = await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Exported Data' });\n this.downloadFile(data);\n this.saved();\n } catch { }\n } else {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Export' });\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n\n protected saved() {\n this.onSaved.emit();\n }\n\n protected getExportData() {\n return this.exportService.getExport('csv');\n }\n\n protected getFileName(prefix?: string) {\n return this.exportService.getFileName(prefix);\n }\n\n private downloadFile(csv: string): void {\n const fileName = this.getFileName();\n this.platformUtilsService.saveFile(this.win, csv, { type: 'text/plain' }, fileName);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\nimport { CipherView } from '../models/view';\n\nexport class ZohoVaultCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(value['Secret Name'])) {\n return;\n }\n this.processFolder(result, this.getValueOrDefault(value.ChamberName));\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.Favorite, '0') === '1';\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.name = this.getValueOrDefault(value['Secret Name'], '--');\n cipher.login.uris = this.makeUriArray(value['Secret URL']);\n this.parseData(cipher, value.SecretData);\n this.parseData(cipher, value.CustomData);\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n\n private parseData(cipher: CipherView, data: string) {\n if (this.isNullOrWhitespace(data)) {\n return;\n }\n const dataLines = this.splitNewLine(data);\n dataLines.forEach((line) => {\n const delimPosition = line.indexOf(':');\n if (delimPosition < 0) {\n return;\n }\n const field = line.substring(0, delimPosition);\n const value = line.length > delimPosition ? line.substring(delimPosition + 1) : null;\n if (this.isNullOrWhitespace(field) || this.isNullOrWhitespace(value) || field === 'SecretType') {\n return;\n }\n const fieldLower = field.toLowerCase();\n if (cipher.login.username == null && this.usernameFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.username = value;\n } else if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.password = value;\n } else {\n this.processKvp(cipher, field, value);\n }\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class UpmCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length !== 5) {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.notes = this.getValueOrDefault(value[4]);\n cipher.login.username = this.getValueOrDefault(value[1]);\n cipher.login.password = this.getValueOrDefault(value[2]);\n cipher.login.uris = this.makeUriArray(value[3]);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst PropertiesToIgnore = ['kind', 'autologin', 'favorite', 'hexcolor', 'protectedwithpassword', 'subdomainonly',\n 'type', 'tk_export_version', 'note', 'title', 'document_content',\n];\n\nexport class TrueKeyCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.favorite, '').toLowerCase() === 'true';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.notes = this.getValueOrDefault(value.memo, '');\n cipher.login.username = this.getValueOrDefault(value.login);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n\n if (value.kind !== 'login') {\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.note, '');\n }\n\n if (value.kind === 'cc') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\n cipher.card.number = this.getValueOrDefault(value.number);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n if (!this.isNullOrWhitespace(value.expiryDate)) {\n try {\n const expDate = new Date(value.expiryDate);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n }\n } else if (value.kind !== 'login') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n if (!this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = this.getValueOrDefault(value.document_content, '');\n }\n for (const property in value) {\n if (value.hasOwnProperty(property) && PropertiesToIgnore.indexOf(property.toLowerCase()) < 0 &&\n !this.isNullOrWhitespace(value[property])) {\n this.processKvp(cipher, property, value[property]);\n }\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class StickyPasswordXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const loginNodes = doc.querySelectorAll('root > Database > Logins > Login');\n Array.from(loginNodes).forEach((loginNode) => {\n const accountId = loginNode.getAttribute('ID');\n if (this.isNullOrWhitespace(accountId)) {\n return;\n }\n\n const usernameText = loginNode.getAttribute('Name');\n const passwordText = loginNode.getAttribute('Password');\n let titleText: string = null;\n let linkText: string = null;\n let notesText: string = null;\n let groupId: string = null;\n let groupText: string = null;\n\n const accountLogin = doc.querySelector('root > Database > Accounts > Account > ' +\n 'LoginLinks > Login[SourceLoginID=\"' + accountId + '\"]');\n if (accountLogin != null) {\n const account = accountLogin.parentElement.parentElement;\n if (account != null) {\n titleText = account.getAttribute('Name');\n linkText = account.getAttribute('Link');\n groupId = account.getAttribute('ParentID');\n notesText = account.getAttribute('Comments');\n if (!this.isNullOrWhitespace(notesText)) {\n notesText = notesText.split('/n').join('\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(groupId)) {\n groupText = this.buildGroupText(doc, groupId, '');\n this.processFolder(result, groupText);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(titleText, '--');\n cipher.notes = this.getValueOrDefault(notesText);\n cipher.login.username = this.getValueOrDefault(usernameText);\n cipher.login.password = this.getValueOrDefault(passwordText);\n cipher.login.uris = this.makeUriArray(linkText);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n\n buildGroupText(doc: Document, groupId: string, groupText: string): string {\n const group = doc.querySelector('root > Database > Groups > Group[ID=\"' + groupId + '\"]');\n if (group == null) {\n return groupText;\n }\n if (!this.isNullOrWhitespace(groupText)) {\n groupText = '/' + groupText;\n }\n groupText = group.getAttribute('Name') + groupText;\n return this.buildGroupText(doc, group.getAttribute('ParentID'), groupText);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\nimport { CipherView } from '../models/view/cipherView';\n\nexport class SplashIdCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n this.processFolder(result, this.getValueOrDefault(value[value.length - 1]));\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 2], '');\n cipher.name = this.getValueOrDefault(value[1], '--');\n\n if (value[0] === 'Web Logins' || value[0] === 'Servers' || value[0] === 'Email Accounts') {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n this.parseFieldsToNotes(cipher, 5, value);\n } else {\n this.parseFieldsToNotes(cipher, 2, value);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n\n private parseFieldsToNotes(cipher: CipherView, startIndex: number, value: any) {\n // last 3 rows do not get parsed\n for (let i = startIndex; i < value.length - 3; i++) {\n if (this.isNullOrWhitespace(value[i])) {\n continue;\n }\n cipher.notes += (value[i] + '\\n');\n }\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class SaferPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.url), '--');\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class SafeInCloudXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const db = doc.querySelector('database');\n if (db == null) {\n result.errorMessage = 'Missing `database` node.';\n result.success = false;\n return result;\n }\n\n const foldersMap = new Map();\n\n Array.from(doc.querySelectorAll('database > label')).forEach((labelEl) => {\n const name = labelEl.getAttribute('name');\n const id = labelEl.getAttribute('id');\n if (!this.isNullOrWhitespace(name) && !this.isNullOrWhitespace(id)) {\n foldersMap.set(id, result.folders.length);\n const folder = new FolderView();\n folder.name = name;\n result.folders.push(folder);\n }\n });\n\n Array.from(doc.querySelectorAll('database > card')).forEach((cardEl) => {\n if (cardEl.getAttribute('template') === 'true') {\n return;\n }\n\n const labelIdEl = this.querySelectorDirectChild(cardEl, 'label_id');\n if (labelIdEl != null) {\n const labelId = labelIdEl.textContent;\n if (!this.isNullOrWhitespace(labelId) && foldersMap.has(labelId)) {\n result.folderRelationships.push([result.ciphers.length, foldersMap.get(labelId)]);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(cardEl.getAttribute('title'), '--');\n\n const cardType = cardEl.getAttribute('type');\n if (cardType === 'note') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else {\n Array.from(this.querySelectorAllDirectChild(cardEl, 'field')).forEach((fieldEl) => {\n const text = fieldEl.textContent;\n if (this.isNullOrWhitespace(text)) {\n return;\n }\n const name = fieldEl.getAttribute('name');\n const fieldType = this.getValueOrDefault(fieldEl.getAttribute('type'), '').toLowerCase();\n if (fieldType === 'login') {\n cipher.login.username = text;\n } else if (fieldType === 'password') {\n cipher.login.password = text;\n } else if (fieldType === 'notes') {\n cipher.notes += (text + '\\n');\n } else if (fieldType === 'weblogin' || fieldType === 'website') {\n cipher.login.uris = this.makeUriArray(text);\n } else {\n this.processKvp(cipher, name, text);\n }\n });\n }\n\n Array.from(this.querySelectorAllDirectChild(cardEl, 'notes')).forEach((notesEl) => {\n cipher.notes += (notesEl.textContent + '\\n');\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class RoboFormCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let i = 1;\n results.forEach((value) => {\n const folder = !this.isNullOrWhitespace(value.Folder) && value.Folder.startsWith('/') ?\n value.Folder.replace('/', '') : value.Folder;\n const folderName = !this.isNullOrWhitespace(folder) ? folder : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Note);\n cipher.name = this.getValueOrDefault(value.Name, '--');\n cipher.login.username = this.getValueOrDefault(value.Login);\n cipher.login.password = this.getValueOrDefault(value.Pwd);\n cipher.login.uris = this.makeUriArray(value.Url);\n this.cleanupCipher(cipher);\n\n if (i === results.length && cipher.name === '--' && this.isNullOrWhitespace(cipher.login.password)) {\n return;\n }\n result.ciphers.push(cipher);\n i++;\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordSafeXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const passwordSafe = doc.querySelector('passwordsafe');\n if (passwordSafe == null) {\n result.errorMessage = 'Missing `passwordsafe` node.';\n result.success = false;\n return result;\n }\n\n const notesDelimiter = passwordSafe.getAttribute('delimiter');\n const entries = doc.querySelectorAll('passwordsafe > entry');\n Array.from(entries).forEach((entry) => {\n const group = this.querySelectorDirectChild(entry, 'group');\n const groupText = group != null && !this.isNullOrWhitespace(group.textContent) ?\n group.textContent.split('.').join('/') : null;\n this.processFolder(result, groupText);\n\n const title = this.querySelectorDirectChild(entry, 'title');\n const username = this.querySelectorDirectChild(entry, 'username');\n const email = this.querySelectorDirectChild(entry, 'email');\n const password = this.querySelectorDirectChild(entry, 'password');\n const url = this.querySelectorDirectChild(entry, 'url');\n const notes = this.querySelectorDirectChild(entry, 'notes');\n const cipher = this.initLoginCipher();\n cipher.name = title != null ? this.getValueOrDefault(title.textContent, '--') : '--';\n cipher.notes = notes != null ?\n this.getValueOrDefault(notes.textContent, '').split(notesDelimiter).join('\\n') : null;\n cipher.login.username = username != null ? this.getValueOrDefault(username.textContent) : null;\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\n\n if (this.isNullOrWhitespace(cipher.login.username) && email != null) {\n cipher.login.username = this.getValueOrDefault(email.textContent);\n } else if (email != null && !this.isNullOrWhitespace(email.textContent)) {\n cipher.notes = this.isNullOrWhitespace(cipher.notes) ? 'Email: ' + email.textContent\n : (cipher.notes + '\\n' + 'Email: ' + email.textContent);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordDragonXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const records = doc.querySelectorAll('PasswordManager > record');\n Array.from(records).forEach((record) => {\n const category = this.querySelectorDirectChild(record, 'Category');\n const categoryText = category != null && !this.isNullOrWhitespace(category.textContent) &&\n category.textContent !== 'Unfiled' ? category.textContent : null;\n this.processFolder(result, categoryText);\n\n const accountName = this.querySelectorDirectChild(record, 'Account-Name');\n const userId = this.querySelectorDirectChild(record, 'User-Id');\n const password = this.querySelectorDirectChild(record, 'Password');\n const url = this.querySelectorDirectChild(record, 'URL');\n const notes = this.querySelectorDirectChild(record, 'Notes');\n const cipher = this.initLoginCipher();\n cipher.name = accountName != null ? this.getValueOrDefault(accountName.textContent, '--') : '--';\n cipher.notes = notes != null ? this.getValueOrDefault(notes.textContent) : '';\n cipher.login.username = userId != null ? this.getValueOrDefault(userId.textContent) : null;\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\n\n const attributes: string[] = [];\n for (let i = 1; i <= 10; i++) {\n attributes.push('Attribute-' + i);\n }\n\n this.querySelectorAllDirectChild(record, attributes.join(',')).forEach((attr) => {\n if (this.isNullOrWhitespace(attr.textContent) || attr.textContent === 'null') {\n return;\n }\n this.processKvp(cipher, attr.tagName, attr.textContent);\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class PasswordBossJsonImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.uris = this.makeUriArray(value.login_url);\n\n if (value.identifiers == null) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value.identifiers.notes)) {\n cipher.notes = value.identifiers.notes.split('\\\\r\\\\n').join('\\n').split('\\\\n').join('\\n');\n }\n\n if (value.type === 'CreditCard') {\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n }\n\n for (const property in value.identifiers) {\n if (!value.identifiers.hasOwnProperty(property)) {\n continue;\n }\n const valObj = value.identifiers[property];\n const val = valObj != null ? valObj.toString() : null;\n if (this.isNullOrWhitespace(val) || property === 'notes' || property === 'ignoreItemInSecurityScore') {\n continue;\n }\n\n if (cipher.type === CipherType.Card) {\n if (property === 'cardNumber') {\n cipher.card.number = val;\n cipher.card.brand = this.getCardBrand(val);\n continue;\n } else if (property === 'nameOnCard') {\n cipher.card.cardholderName = val;\n continue;\n } else if (property === 'security_code') {\n cipher.card.code = val;\n continue;\n } else if (property === 'expires') {\n try {\n const expDate = new Date(val);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n continue;\n } else if (property === 'cardType') {\n continue;\n }\n } else {\n if (property === 'username') {\n cipher.login.username = val;\n continue;\n } else if (property === 'password') {\n cipher.login.password = val;\n continue;\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(property) > -1) {\n cipher.login.uris = this.makeUriArray(val);\n continue;\n }\n }\n\n this.processKvp(cipher, property, val);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordAgentCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 9) {\n return;\n }\n const folder = this.getValueOrDefault(value[8], '(None)');\n const folderName = folder !== '(None)' ? folder.split('\\\\').join('/') : null;\n this.processFolder(result, folderName);\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[3]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.login.username = this.getValueOrDefault(value[1]);\n cipher.login.password = this.getValueOrDefault(value[2]);\n cipher.login.uris = this.makeUriArray(value[4]);\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PassKeepCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n this.processFolder(result, this.getValue('category', value));\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValue('description', value);\n cipher.name = this.getValueOrDefault(this.getValue('title', value), '--');\n cipher.login.username = this.getValue('username', value);\n cipher.login.password = this.getValue('password', value);\n cipher.login.uris = this.makeUriArray(this.getValue('site', value));\n this.processKvp(cipher, 'Password 2', this.getValue('password2', value));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n\n private getValue(key: string, value: any) {\n return this.getValueOrDefault(value[key], this.getValueOrDefault(value[(' ' + key)]));\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nexport class PadlockCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let headers: string[] = null;\n results.forEach((value) => {\n if (headers == null) {\n headers = value.map((v: string) => v);\n return;\n }\n\n if (value.length < 2 || value.length !== headers.length) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value[1])) {\n if (this.organization) {\n const tags = (value[1] as string).split(',');\n tags.forEach((tag) => {\n tag = tag.trim();\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === tag) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = tag;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else {\n const tags = (value[1] as string).split(',');\n const tag = tags.length > 0 ? tags[0].trim() : null;\n this.processFolder(result, tag);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n for (let i = 2; i < value.length; i++) {\n const header = headers[i].trim().toLowerCase();\n if (this.isNullOrWhitespace(value[i]) || this.isNullOrWhitespace(header)) {\n continue;\n }\n\n if (this.usernameFieldNames.indexOf(header) > -1) {\n cipher.login.username = value[i];\n } else if (this.passwordFieldNames.indexOf(header) > -1) {\n cipher.login.password = value[i];\n } else if (this.uriFieldNames.indexOf(header) > -1) {\n cipher.login.uris = this.makeUriArray(value[i]);\n } else {\n this.processKvp(cipher, headers[i], value[i]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","export class View {\r\n}\n","export { AttachmentView } from './attachmentView';\r\nexport { CardView } from './cardView';\r\nexport { CipherView } from './cipherView';\r\nexport { FieldView } from './fieldView';\r\nexport { IdentityView } from './identityView';\r\nexport { LoginUriView } from './loginUriView';\r\nexport { LoginView } from './loginView';\r\nexport { SecureNoteView } from './secureNoteView';\r\nexport { View } from './view';\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { CardView } from '../models/view';\n\nconst IgnoredProperties = ['ainfo', 'autosubmit', 'notesPlain', 'ps', 'scope', 'tags', 'title', 'uuid'];\n\nexport class OnePasswordWinCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(value.title)) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.notesPlain, '') + '\\n';\n\n if (!this.isNullOrWhitespace(value.number) && !this.isNullOrWhitespace(value['expiry date'])) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n let altUsername: string = null;\n for (const property in value) {\n if (!value.hasOwnProperty(property) || this.isNullOrWhitespace(value[property])) {\n continue;\n }\n\n if (cipher.type === CipherType.Login) {\n if (this.isNullOrWhitespace(cipher.login.password) && property === 'password') {\n cipher.login.password = value[property];\n continue;\n } else if (this.isNullOrWhitespace(cipher.login.username) && property === 'username') {\n cipher.login.username = value[property];\n continue;\n } else if ((cipher.login.uris == null || cipher.login.uri.length === 0) && property === 'urls') {\n const urls = value[property].split(this.newLineRegex);\n cipher.login.uris = this.makeUriArray(urls);\n continue;\n }\n } else if (cipher.type === CipherType.Card) {\n if (this.isNullOrWhitespace(cipher.card.number) && property === 'number') {\n cipher.card.number = value[property];\n cipher.card.brand = this.getCardBrand(value.number);\n continue;\n } else if (this.isNullOrWhitespace(cipher.card.code) && property === 'verification number') {\n cipher.card.code = value[property];\n continue;\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && property === 'cardholder name') {\n cipher.card.cardholderName = value[property];\n continue;\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && property === 'expiry date' &&\n value[property].length === 6) {\n cipher.card.expMonth = (value[property] as string).substr(4, 2);\n if (cipher.card.expMonth[0] === '0') {\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\n }\n cipher.card.expYear = (value[property] as string).substr(0, 4);\n continue;\n } else if (property === 'type') {\n // Skip since brand was determined from number above\n continue;\n }\n }\n\n if (IgnoredProperties.indexOf(property) === -1 && !property.startsWith('section:')) {\n if (altUsername == null && property === 'email') {\n altUsername = value[property];\n }\n this.processKvp(cipher, property, value[property]);\n }\n }\n\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(altUsername) &&\n this.isNullOrWhitespace(cipher.login.username) && altUsername.indexOf('://') === -1) {\n cipher.login.username = altUsername;\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class OnePassword1PifImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): ImportResult {\n data.split(this.newLineRegex).forEach((line) => {\n if (this.isNullOrWhitespace(line) || line[0] !== '{') {\n return;\n }\n const item = JSON.parse(line);\n const cipher = this.initLoginCipher();\n cipher.favorite = item.openContents && item.openContents.faveIndex ? true : false;\n cipher.name = this.getValueOrDefault(item.title, '--');\n\n if (item.typeName === 'securenotes.SecureNote') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else if (item.typeName === 'wallet.financial.CreditCard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n } else {\n cipher.login.uris = this.makeUriArray(item.location);\n }\n\n if (item.secureContents != null) {\n if (!this.isNullOrWhitespace(item.secureContents.notesPlain)) {\n cipher.notes = item.secureContents.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (item.secureContents.fields != null) {\n this.parseFields(item.secureContents.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.secureContents.sections != null) {\n item.secureContents.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n\n this.result.success = true;\n return this.result;\n }\n\n private parseFields(fields: any[], cipher: CipherView, designationKey: string, valueKey: string, nameKey: string) {\n fields.forEach((field: any) => {\n if (field[valueKey] == null || field[valueKey].toString().trim() === '') {\n return;\n }\n\n const fieldValue = field[valueKey].toString();\n const fieldDesignation = field[designationKey] != null ? field[designationKey].toString() : null;\n\n if (cipher.type === CipherType.Login) {\n if (this.isNullOrWhitespace(cipher.login.username) && fieldDesignation === 'username') {\n cipher.login.username = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.password) && fieldDesignation === 'password') {\n cipher.login.password = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.totp) && fieldDesignation != null &&\n fieldDesignation.startsWith('TOTP_')) {\n cipher.login.totp = fieldValue;\n return;\n }\n } else if (cipher.type === CipherType.Card) {\n if (this.isNullOrWhitespace(cipher.card.number) && fieldDesignation === 'ccnum') {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n return;\n } else if (this.isNullOrWhitespace(cipher.card.code) && fieldDesignation === 'cvv') {\n cipher.card.code = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && fieldDesignation === 'cardholder') {\n cipher.card.cardholderName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && fieldDesignation === 'expiry' &&\n fieldValue.length === 6) {\n cipher.card.expMonth = (fieldValue as string).substr(4, 2);\n if (cipher.card.expMonth[0] === '0') {\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\n }\n cipher.card.expYear = (fieldValue as string).substr(0, 4);\n return;\n } else if (fieldDesignation === 'type') {\n // Skip since brand was determined from number above\n return;\n }\n }\n\n const fieldName = this.isNullOrWhitespace(field[nameKey]) ? 'no_name' : field[nameKey];\n this.processKvp(cipher, fieldName, fieldValue);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class MSecureCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n const folderName = this.getValueOrDefault(value[0], 'Unassigned') !== 'Unassigned' ? value[0] : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[2], '--');\n\n if (value[1] === 'Web Logins') {\n cipher.login.uris = this.makeUriArray(value[4]);\n cipher.login.username = this.getValueOrDefault(value[5]);\n cipher.login.password = this.getValueOrDefault(value[6]);\n cipher.notes = !this.isNullOrWhitespace(value[3]) ? value[3].split('\\\\n').join('\\n') : null;\n } else if (value.length > 3) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n for (let i = 3; i < value.length; i++) {\n if (!this.isNullOrWhitespace(value[i])) {\n cipher.notes += (value[i] + '\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(value[1]) && cipher.type !== CipherType.Login) {\n cipher.name = value[1] + ': ' + cipher.name;\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class MeldiumCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.DisplayName, '--');\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.login.username = this.getValueOrDefault(value.UserName);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.Url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FolderView } from '../models/view/folderView';\nimport { IdentityView } from '../models/view/identityView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class LastPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value, index) => {\n const cipherIndex = result.ciphers.length;\n let folderIndex = result.folders.length;\n const hasFolder = this.getValueOrDefault(value.grouping, '(none)') !== '(none)';\n let addFolder = hasFolder;\n\n if (hasFolder) {\n for (let i = 0; i < result.folders.length; i++) {\n if (result.folders[i].name === value.grouping) {\n addFolder = false;\n folderIndex = i;\n break;\n }\n }\n }\n\n const cipher = this.buildBaseCipher(value);\n if (cipher.type === CipherType.Login) {\n cipher.notes = this.getValueOrDefault(value.extra);\n cipher.login = new LoginView();\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n } else if (cipher.type === CipherType.SecureNote) {\n this.parseSecureNote(value, cipher);\n } else if (cipher.type === CipherType.Card) {\n cipher.card = this.parseCard(value);\n cipher.notes = this.getValueOrDefault(value.notes);\n } else if (cipher.type === CipherType.Identity) {\n cipher.identity = this.parseIdentity(value);\n cipher.notes = this.getValueOrDefault(value.notes);\n if (!this.isNullOrWhitespace(value.ccnum)) {\n // there is a card on this identity too\n const cardCipher = this.buildBaseCipher(value);\n cardCipher.identity = null;\n cardCipher.type = CipherType.Card;\n cardCipher.card = this.parseCard(value);\n result.ciphers.push(cardCipher);\n }\n }\n\n result.ciphers.push(cipher);\n\n if (addFolder) {\n const f = new FolderView();\n f.name = value.grouping;\n result.folders.push(f);\n }\n if (hasFolder) {\n result.folderRelationships.push([cipherIndex, folderIndex]);\n }\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n\n private buildBaseCipher(value: any) {\n const cipher = new CipherView();\n if (value.hasOwnProperty('profilename') && value.hasOwnProperty('profilelanguage')) {\n // form fill\n cipher.favorite = false;\n cipher.name = this.getValueOrDefault(value.profilename, '--');\n cipher.type = CipherType.Card;\n\n if (!this.isNullOrWhitespace(value.title) || !this.isNullOrWhitespace(value.firstname) ||\n !this.isNullOrWhitespace(value.lastname) || !this.isNullOrWhitespace(value.address1) ||\n !this.isNullOrWhitespace(value.phone) || !this.isNullOrWhitespace(value.username) ||\n !this.isNullOrWhitespace(value.email)) {\n cipher.type = CipherType.Identity;\n }\n } else {\n // site or secure note\n cipher.favorite = !this.organization && this.getValueOrDefault(value.fav, '0') === '1';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.type = value.url === 'http://sn' ? CipherType.SecureNote : CipherType.Login;\n }\n return cipher;\n }\n\n private parseCard(value: any): CardView {\n const card = new CardView();\n card.cardholderName = this.getValueOrDefault(value.ccname);\n card.number = this.getValueOrDefault(value.ccnum);\n card.code = this.getValueOrDefault(value.cccsc);\n card.brand = this.getCardBrand(value.ccnum);\n\n if (!this.isNullOrWhitespace(value.ccexp) && value.ccexp.indexOf('-') > -1) {\n const ccexpParts = (value.ccexp as string).split('-');\n if (ccexpParts.length > 1) {\n card.expYear = ccexpParts[0];\n card.expMonth = ccexpParts[1];\n if (card.expMonth.length === 2 && card.expMonth[0] === '0') {\n card.expMonth = card.expMonth[1];\n }\n }\n }\n\n return card;\n }\n\n private parseIdentity(value: any): IdentityView {\n const identity = new IdentityView();\n identity.title = this.getValueOrDefault(value.title);\n identity.firstName = this.getValueOrDefault(value.firstname);\n identity.middleName = this.getValueOrDefault(value.middlename);\n identity.lastName = this.getValueOrDefault(value.lastname);\n identity.username = this.getValueOrDefault(value.username);\n identity.company = this.getValueOrDefault(value.company);\n identity.ssn = this.getValueOrDefault(value.ssn);\n identity.address1 = this.getValueOrDefault(value.address1);\n identity.address2 = this.getValueOrDefault(value.address2);\n identity.address3 = this.getValueOrDefault(value.address3);\n identity.city = this.getValueOrDefault(value.city);\n identity.state = this.getValueOrDefault(value.state);\n identity.postalCode = this.getValueOrDefault(value.zip);\n identity.country = this.getValueOrDefault(value.country);\n identity.email = this.getValueOrDefault(value.email);\n identity.phone = this.getValueOrDefault(value.phone);\n\n if (!this.isNullOrWhitespace(identity.title)) {\n identity.title = identity.title.charAt(0).toUpperCase() + identity.title.slice(1);\n }\n\n return identity;\n }\n\n private parseSecureNote(value: any, cipher: CipherView) {\n const extraParts = this.splitNewLine(value.extra);\n let processedNote = false;\n\n if (extraParts.length) {\n const typeParts = extraParts[0].split(':');\n if (typeParts.length > 1 && typeParts[0] === 'NoteType' &&\n (typeParts[1] === 'Credit Card' || typeParts[1] === 'Address')) {\n if (typeParts[1] === 'Credit Card') {\n const mappedData = this.parseSecureNoteMapping(extraParts, {\n 'Number': 'number',\n 'Name on Card': 'cardholderName',\n 'Security Code': 'code',\n });\n cipher.type = CipherType.Card;\n cipher.card = mappedData[0];\n cipher.notes = mappedData[1];\n } else if (typeParts[1] === 'Address') {\n const mappedData = this.parseSecureNoteMapping(extraParts, {\n 'Title': 'title',\n 'First Name': 'firstName',\n 'Last Name': 'lastName',\n 'Middle Name': 'middleName',\n 'Company': 'company',\n 'Address 1': 'address1',\n 'Address 2': 'address2',\n 'Address 3': 'address3',\n 'City / Town': 'city',\n 'State': 'state',\n 'Zip / Postal Code': 'postalCode',\n 'Country': 'country',\n 'Email Address': 'email',\n 'Username': 'username',\n });\n cipher.type = CipherType.Identity;\n cipher.identity = mappedData[0];\n cipher.notes = mappedData[1];\n }\n processedNote = true;\n }\n }\n\n if (!processedNote) {\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.notes = this.getValueOrDefault(value.extra);\n }\n }\n\n private parseSecureNoteMapping(extraParts: string[], map: any): [T, string] {\n let notes: string = null;\n const dataObj: any = {};\n\n extraParts.forEach((extraPart) => {\n const fieldParts = extraPart.split(':');\n if (fieldParts.length < 1 || this.isNullOrWhitespace(fieldParts[0]) ||\n this.isNullOrWhitespace(fieldParts[1]) || fieldParts[0] === 'NoteType') {\n return;\n }\n\n if (fieldParts[0] === 'Notes') {\n if (!this.isNullOrWhitespace(notes)) {\n notes += ('\\n' + fieldParts[1]);\n } else {\n notes = fieldParts[1];\n }\n } else if (map.hasOwnProperty(fieldParts[0])) {\n dataObj[map[fieldParts[0]]] = fieldParts[1];\n } else {\n if (!this.isNullOrWhitespace(notes)) {\n notes += '\\n';\n } else {\n notes = '';\n }\n\n notes += (fieldParts[0] + ': ' + fieldParts[1]);\n }\n });\n\n return [dataObj as T, notes];\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeeperCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 6) {\n return;\n }\n\n this.processFolder(result, value[0]);\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[5]) + '\\n';\n cipher.name = this.getValueOrDefault(value[1], '--');\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n\n if (value.length > 7) {\n // we have some custom fields.\n for (let i = 7; i < value.length; i = i + 2) {\n this.processKvp(cipher, value[i], value[i + 1]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class KeePassXCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(value.Title)) {\n return;\n }\n\n value.Group = !this.isNullOrWhitespace(value.Group) && value.Group.startsWith('Root/') ?\n value.Group.replace('Root/', '') : value.Group;\n const groupName = !this.isNullOrWhitespace(value.Group) ? value.Group : null;\n this.processFolder(result, groupName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.name = this.getValueOrDefault(value.Title, '--');\n cipher.login.username = this.getValueOrDefault(value.Username);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.URL);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeePass2XmlImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): ImportResult {\n const doc = this.parseXml(data);\n if (doc == null) {\n this.result.success = false;\n return this.result;\n }\n\n const rootGroup = doc.querySelector('KeePassFile > Root > Group');\n if (rootGroup == null) {\n this.result.errorMessage = 'Missing `KeePassFile > Root > Group` node.';\n this.result.success = false;\n return this.result;\n }\n\n this.traverse(rootGroup, true, '');\n\n if (this.organization) {\n this.moveFoldersToCollections(this.result);\n }\n\n this.result.success = true;\n return this.result;\n }\n\n traverse(node: Element, isRootNode: boolean, groupPrefixName: string) {\n const folderIndex = this.result.folders.length;\n let groupName = groupPrefixName;\n\n if (!isRootNode) {\n if (groupName !== '') {\n groupName += '/';\n }\n const nameEl = this.querySelectorDirectChild(node, 'Name');\n groupName += nameEl == null ? '-' : nameEl.textContent;\n const folder = new FolderView();\n folder.name = groupName;\n this.result.folders.push(folder);\n }\n\n this.querySelectorAllDirectChild(node, 'Entry').forEach((entry) => {\n const cipherIndex = this.result.ciphers.length;\n\n const cipher = this.initLoginCipher();\n this.querySelectorAllDirectChild(entry, 'String').forEach((entryString) => {\n const valueEl = this.querySelectorDirectChild(entryString, 'Value');\n const value = valueEl != null ? valueEl.textContent : null;\n if (this.isNullOrWhitespace(value)) {\n return;\n }\n const keyEl = this.querySelectorDirectChild(entryString, 'Key');\n const key = keyEl != null ? keyEl.textContent : null;\n\n if (key === 'URL') {\n cipher.login.uris = this.makeUriArray(value);\n } else if (key === 'UserName') {\n cipher.login.username = value;\n } else if (key === 'Password') {\n cipher.login.password = value;\n } else if (key === 'Title') {\n cipher.name = value;\n } else if (key === 'Notes') {\n cipher.notes += (value + '\\n');\n } else {\n this.processKvp(cipher, key, value);\n }\n });\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n\n if (!isRootNode) {\n this.result.folderRelationships.push([cipherIndex, folderIndex]);\n }\n });\n\n this.querySelectorAllDirectChild(node, 'Group').forEach((group) => {\n this.traverse(group, false, groupName);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class GnomeJsonImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || Object.keys(results).length === 0) {\n result.success = false;\n return result;\n }\n\n for (const keyRing in results) {\n if (!results.hasOwnProperty(keyRing) || this.isNullOrWhitespace(keyRing) ||\n results[keyRing].length === 0) {\n continue;\n }\n\n results[keyRing].forEach((value: any) => {\n if (this.isNullOrWhitespace(value.display_name) || value.display_name.indexOf('http') !== 0) {\n return;\n }\n\n this.processFolder(result, keyRing);\n const cipher = this.initLoginCipher();\n cipher.name = value.display_name.replace('http://', '').replace('https://', '');\n if (cipher.name.length > 30) {\n cipher.name = cipher.name.substring(0, 30);\n }\n cipher.login.password = this.getValueOrDefault(value.secret);\n cipher.login.uris = this.makeUriArray(value.display_name);\n\n if (value.attributes != null) {\n cipher.login.username = value.attributes != null ?\n this.getValueOrDefault(value.attributes.username_value) : null;\n for (const attr in value.attributes) {\n if (!value.attributes.hasOwnProperty(attr) || attr === 'username_value' ||\n attr === 'xdg:schema') {\n continue;\n }\n this.processKvp(cipher, attr, value.attributes[attr]);\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class FirefoxCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.hostname), '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.hostname);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class EnpassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let firstRow = true;\n results.forEach((value) => {\n if (value.length < 2 || (firstRow && value[0] === 'Title')) {\n firstRow = false;\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2 || (value.indexOf('Username') < 0 && value.indexOf('Password') < 0 &&\n value.indexOf('Email') && value.indexOf('URL') < 0)) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n\n if (value.indexOf('Cardholder') > -1 && value.indexOf('Number') > -1 && value.indexOf('Expiry date') > -1) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n if (value.length > 2 && (value.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const fieldValue: string = value[i + 2];\n if (this.isNullOrWhitespace(fieldValue)) {\n continue;\n }\n\n const fieldName: string = value[i + 1];\n const fieldNameLower = fieldName.toLowerCase();\n\n if (cipher.type === CipherType.Login) {\n if (fieldNameLower === 'url' && (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.login.uris = this.makeUriArray(fieldValue);\n continue;\n } else if ((fieldNameLower === 'username' || fieldNameLower === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = fieldValue;\n continue;\n } else if (fieldNameLower === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = fieldValue;\n continue;\n } else if (fieldNameLower === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = fieldValue;\n continue;\n }\n } else if (cipher.type === CipherType.Card) {\n if (fieldNameLower === 'cardholder' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = fieldValue;\n continue;\n } else if (fieldNameLower === 'number' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n continue;\n } else if (fieldNameLower === 'cvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = fieldValue;\n continue;\n } else if (fieldNameLower === 'expiry date' && this.isNullOrWhitespace(cipher.card.expMonth) &&\n this.isNullOrWhitespace(cipher.card.expYear)) {\n const parts = fieldValue.split('/');\n if (parts.length === 2) {\n let month: string = null;\n let year: string = null;\n if (parts[0].length === 1 || parts[0].length === 2) {\n month = parts[0];\n if (month.length === 2 && month[0] === '0') {\n month = month.substr(1, 1);\n }\n }\n if (parts[1].length === 2 || parts[1].length === 4) {\n year = month.length === 2 ? '20' + parts[1] : parts[1];\n }\n if (month != null && year != null) {\n cipher.card.expMonth = month;\n cipher.card.expYear = year;\n continue;\n }\n }\n } else if (fieldNameLower === 'type') {\n // Skip since brand was determined from number above\n continue;\n }\n }\n\n this.processKvp(cipher, fieldName, fieldValue);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class DashlaneCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n let skip = false;\n if (value.length < 2) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2) {\n cipher.login.uris = this.makeUriArray(value[1]);\n } else if (value.length === 3) {\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.username = this.getValueOrDefault(value[2]);\n } else if (value.length === 4) {\n if (this.isNullOrWhitespace(value[2]) && this.isNullOrWhitespace(value[3])) {\n cipher.login.username = value[1];\n cipher.notes = value[2] + '\\n' + value[3];\n } else {\n cipher.login.username = value[2];\n cipher.notes = value[1] + '\\n' + value[3];\n }\n } else if (value.length === 5) {\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4]);\n } else if (value.length === 6) {\n if (this.isNullOrWhitespace(value[2])) {\n cipher.login.username = this.getValueOrDefault(value[3]);\n cipher.login.password = this.getValueOrDefault(value[4]);\n cipher.notes = this.getValueOrDefault(value[5]);\n } else {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[5], '');\n }\n cipher.login.uris = this.makeUriArray(value[1]);\n } else if (value.length === 7) {\n if (this.isNullOrWhitespace(value[2])) {\n cipher.login.username = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[6], '');\n } else {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.notes = this.getValueOrDefault(value[3], '') + '\\n' +\n this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[6], '');\n }\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.password = this.getValueOrDefault(value[5]);\n } else {\n for (let i = 1; i < value.length; i++) {\n cipher.notes += (value[i] + '\\n');\n if (value[i] === 'NO_TYPE') {\n skip = true;\n break;\n }\n }\n }\n\n if (skip) {\n return;\n }\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = null;\n }\n if (this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = null;\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ClipperzHtmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const textarea = doc.querySelector('textarea');\n if (textarea == null || this.isNullOrWhitespace(textarea.textContent)) {\n result.errorMessage = 'Missing textarea.';\n result.success = false;\n return result;\n }\n\n const entries = JSON.parse(textarea.textContent);\n entries.forEach((entry: any) => {\n const cipher = this.initLoginCipher();\n if (!this.isNullOrWhitespace(entry.label)) {\n cipher.name = entry.label.split(' ')[0];\n }\n if (entry.data != null && !this.isNullOrWhitespace(entry.data.notes)) {\n cipher.notes = entry.data.notes.split('\\\\n').join('\\n');\n }\n\n if (entry.currentVersion != null && entry.currentVersion.fields != null) {\n for (const property in entry.currentVersion.fields) {\n if (!entry.currentVersion.fields.hasOwnProperty(property)) {\n continue;\n }\n\n const field = entry.currentVersion.fields[property];\n const actionType = field.actionType != null ? field.actionType.toLowerCase() : null;\n switch (actionType) {\n case 'password':\n cipher.login.password = this.getValueOrDefault(field.value);\n break;\n case 'email':\n case 'username':\n case 'user':\n case 'name':\n cipher.login.username = this.getValueOrDefault(field.value);\n break;\n case 'url':\n cipher.login.uris = this.makeUriArray(field.value);\n break;\n default:\n const labelLower = field.label != null ? field.label.toLowerCase() : null;\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(labelLower) > -1) {\n cipher.login.password = this.getValueOrDefault(field.value);\n } else if (cipher.login.username == null &&\n this.usernameFieldNames.indexOf(labelLower) > -1) {\n cipher.login.username = this.getValueOrDefault(field.value);\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(labelLower) > -1) {\n cipher.login.uris = this.makeUriArray(field.value);\n } else {\n this.processKvp(cipher, field.label, field.value);\n }\n break;\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ChromeCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class BlurCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.label === 'null') {\n value.label = null;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.label,\n this.getValueOrDefault(this.nameFromUrl(value.domain), '--'));\n cipher.login.uris = this.makeUriArray(value.domain);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.email) && !this.isNullOrWhitespace(value.username)) {\n cipher.login.username = value.username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.email);\n cipher.notes = this.getValueOrDefault(value.username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FieldView } from '../models/view/fieldView';\nimport { FolderView } from '../models/view/folderView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class BitwardenCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (this.organization && !this.isNullOrWhitespace(value.collections)) {\n const collections = (value.collections as string).split(',');\n collections.forEach((col) => {\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === col) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = col;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else if (!this.organization) {\n this.processFolder(result, value.folder);\n }\n\n const cipher = new CipherView();\n cipher.favorite = !this.organization && this.getValueOrDefault(value.favorite, '0') !== '0' ? true : false;\n cipher.type = CipherType.Login;\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.name = this.getValueOrDefault(value.name, '--');\n\n if (!this.isNullOrWhitespace(value.fields)) {\n const fields = this.splitNewLine(value.fields);\n for (let i = 0; i < fields.length; i++) {\n if (this.isNullOrWhitespace(fields[i])) {\n continue;\n }\n\n const delimPosition = fields[i].lastIndexOf(': ');\n if (delimPosition === -1) {\n continue;\n }\n\n if (cipher.fields == null) {\n cipher.fields = [];\n }\n\n const field = new FieldView();\n field.name = fields[i].substr(0, delimPosition);\n field.value = null;\n field.type = FieldType.Text;\n if (fields[i].length > (delimPosition + 2)) {\n field.value = fields[i].substr(delimPosition + 2);\n }\n cipher.fields.push(field);\n }\n }\n\n const valueType = value.type != null ? value.type.toLowerCase() : null;\n switch (valueType) {\n case 'login':\n case null:\n cipher.type = CipherType.Login;\n cipher.login = new LoginView();\n cipher.login.totp = this.getValueOrDefault(value.login_totp || value.totp);\n cipher.login.username = this.getValueOrDefault(value.login_username || value.username);\n cipher.login.password = this.getValueOrDefault(value.login_password || value.password);\n const uris = this.parseSingleRowCsv(value.login_uri || value.uri);\n cipher.login.uris = this.makeUriArray(uris);\n break;\n case 'note':\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n break;\n default:\n break;\n }\n\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AviraCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name,\n this.getValueOrDefault(this.nameFromUrl(value.website), '--'));\n cipher.login.uris = this.makeUriArray(value.website);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.username) && !this.isNullOrWhitespace(value.secondary_username)) {\n cipher.login.username = value.secondary_username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.notes = this.getValueOrDefault(value.secondary_username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AscendoCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 2) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length > 2 && (value.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const val: string = value[i + 2];\n const field: string = value[i + 1];\n if (this.isNullOrWhitespace(val) || this.isNullOrWhitespace(field)) {\n continue;\n }\n\n const fieldLower = field.toLowerCase();\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.password = this.getValueOrDefault(val);\n } else if (cipher.login.username == null &&\n this.usernameFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.username = this.getValueOrDefault(val);\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.uris = this.makeUriArray(val);\n } else {\n this.processKvp(cipher, field, val);\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { CipherRequest } from './cipherRequest';\nimport { FolderRequest } from './folderRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportCiphersRequest {\n ciphers: CipherRequest[] = [];\n folders: FolderRequest[] = [];\n folderRelationships: Array> = [];\n}\n","
\r\n
\r\n
\r\n \r\n
\r\n
{{'reports' | i18n}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationCreateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n planType: PlanType;\n key: string;\n paymentToken: string;\n additionalSeats: number;\n additionalStorageGb: number;\n collectionName: string;\n country: string;\n}\n","
\n

{{'newOrganization' | i18n}}

\n
\n

{{'newOrganizationDesc' | i18n}}

\n\n

{{'uploadLicenseFileOrg' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_organization_license.json'}}\n
\n \n
\n
\n
\n

{{'generalInformation' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n

{{'chooseYourPlan' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n \n

{{'users' | i18n}}

\n
\n
\n \n \n {{'userSeatsHowManyDesc' | i18n}}\n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'userSeatsAdditionalDesc' | i18n : plans[plan].baseSeats : (plans[plan].seatPrice | currency:'$')}}\n
\n
\n
\n
\n \n \n {{'additionalStorageDesc' | i18n : '1 GB' : (storageGb.price | currency:'$')}}\n
\n
\n

{{'summary' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{interval | i18n}}\n
\n {{'paymentChargedWithTrial' | i18n : (interval | i18n) }}\n

{{'paymentInformation' | i18n}}

\n \n
\n
\n \n
\n
\n","export class PaymentRequest {\n paymentToken: string;\n}\n","export class StorageRequest {\n storageGbAdjustment: number;\n}\n","
\n

\n {{'billingAndLicensing' | i18n}}\n \n \n \n

\n
\n\n\n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'subscription' | i18n}}
\n
{{'premiumMembership' | i18n}}
\n
\n
\n
{{'expiration' | i18n}}
\n
{{billing.expiration | date:'mediumDate'}}
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'status' | i18n}}
\n
\n {{(subscription && subscription.status) || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$')) :\n '-'}}\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : billing.maxStorageGb || 0 : billing.storageName || '0 MB'}}

\n
\n
{{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n

\n \n {{paymentSource.description}}\n

\n \n \n \n

{{'charges' | i18n}}

\n

{{'noCharges' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{c.createdDate | date:'mediumDate'}}{{c.paymentSource ? c.paymentSource.description : '-'}}{{c.status}}{{c.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n
\n","
\n

{{'goPremium' | i18n}}

\n
\n\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n
    \n
  • \n \n {{'premiumSignUpStorage' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTwoStep' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTotp' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpSupport' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpFuture' | i18n}}\n
  • \n
\n

{{'premiumPrice' | i18n : (premiumPrice | currency:'$')}}

\n \n {{'purchasePremium' | i18n}}\n \n
\n\n

{{'uploadLicenseFilePremium' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_premium_license.json'}}\n
\n \n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'additionalStorageDesc' | i18n : '1 GB' : (storageGbPrice | currency:'$')}}\n
\n
\n

{{'summary' | i18n}}

\n {{'premiumMembership' | i18n}}: {{premiumPrice | currency:'$'}}\n
{{'additionalStorageGb' | i18n}}: {{additionalStorage || 0}} GB × {{storageGbPrice | currency:'$'}} = {{additionalStorageTotal\n | currency:'$'}}\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{'year' | i18n}}\n
\n {{'paymentChargedAnnually' | i18n}}\n

{{'paymentInformation' | i18n}}

\n \n \n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorYubioOtpRequest extends PasswordVerificationRequest {\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fRequest extends PasswordVerificationRequest {\n deviceResponse: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorEmailRequest extends PasswordVerificationRequest {\n token: string;\n email: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorDuoRequest extends PasswordVerificationRequest {\n integrationKey: string;\n secretKey: string;\n host: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderRequest extends PasswordVerificationRequest {\n type: TwoFactorProviderType;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorAuthenticatorRequest extends PasswordVerificationRequest {\n token: string;\n key: string;\n}\n","export class UpdateDomainsRequest {\n equivalentDomains: string[][];\n excludedGlobalEquivalentDomains: number[];\n}\n","
\n

{{'domainRules' | i18n}}

\n
\n

{{'domainRulesDesc' | i18n}}

\n
\n

{{'customEqDomains' | i18n}}

\n

\n \n

\n \n
\n
\n \n \n
\n \n
\n \n {{'newCustomDomainDesc' | i18n}}\n
\n \n

{{'globalEqDomains' | i18n}}

\n

\n \n

\n 0\">\n \n \n \n \n \n \n
{{d.domains}}\n \n
\n \n
\n","
\n

{{'options' | i18n}}

\n
\n

{{'optionsDesc' | i18n}}

\n
\n
\n
\n
\n
\n \n \n \n \n
\n \n {{'languageDesc' | i18n}}\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n {{'disableIconsDesc' | i18n}}\n
\n \n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class PasswordRequest extends PasswordVerificationRequest {\n newMasterPasswordHash: string;\n key: string;\n}\n","{{'loggedOutWarning' | i18n}}\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n","import { EmailTokenRequest } from './emailTokenRequest';\n\nexport class EmailRequest extends EmailTokenRequest {\n newMasterPasswordHash: string;\n token: string;\n key: string;\n}\n","
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n

{{'changeEmailDesc' | i18n : newEmail}}

\n {{'loggedOutWarning' | i18n}}\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n","export class UpdateProfileRequest {\n name: string;\n masterPasswordHint: string;\n culture = 'en-US'; // deprecated\n\n constructor(name: string, masterPasswordHint: string) {\n this.name = name;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n }\n}\n","
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n","
\n

{{'myAccount' | i18n}}

\n
\n\n
\n

{{'changeEmail' | i18n}}

\n
\n\n
\n

{{'changeMasterPassword' | i18n}}

\n
\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n \n
\n
\n\n\n\n","\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { FolderView } from '../../models/view/folderView';\n\nexport class FolderAddEditComponent implements OnInit {\n @Input() folderId: string;\n @Output() onSavedFolder = new EventEmitter();\n @Output() onDeletedFolder = new EventEmitter();\n\n editMode: boolean = false;\n folder: FolderView = new FolderView();\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n\n constructor(protected folderService: FolderService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.folderId != null;\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editFolder');\n const folder = await this.folderService.get(this.folderId);\n this.folder = await folder.decrypt();\n } else {\n this.title = this.i18nService.t('addFolder');\n }\n }\n\n async submit(): Promise {\n if (this.folder.name == null || this.folder.name === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n try {\n const folder = await this.folderService.encrypt(this.folder);\n this.formPromise = this.folderService.saveWithServer(folder);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Folder' : 'Added Folder' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedFolder' : 'addedFolder'));\n this.onSavedFolder.emit(this.folder);\n return true;\n } catch { }\n\n return false;\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteFolderConfirmation'), this.i18nService.t('deleteFolder'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.folderService.deleteWithServer(this.folder.id);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Folder' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedFolder'));\n this.onDeletedFolder.emit(this.folder);\n } catch { }\n\n return true;\n }\n}\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { TokenService } from '../../abstractions/token.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { AttachmentView } from '../../models/view/attachmentView';\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class AttachmentsComponent implements OnInit {\n @Input() cipherId: string;\n @Output() onUploadedAttachment = new EventEmitter();\n @Output() onDeletedAttachment = new EventEmitter();\n\n cipher: CipherView;\n cipherDomain: Cipher;\n hasUpdatedKey: boolean;\n canAccessAttachments: boolean;\n formPromise: Promise;\n deletePromises: { [id: string]: Promise; } = {};\n\n constructor(protected cipherService: CipherService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected cryptoService: CryptoService, protected tokenService: TokenService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window) { }\n\n async ngOnInit() {\n this.cipherDomain = await this.loadCipher();\n this.cipher = await this.cipherDomain.decrypt();\n\n this.hasUpdatedKey = await this.cryptoService.hasEncKey();\n const isPremium = this.tokenService.getPremium();\n this.canAccessAttachments = isPremium || this.cipher.organizationId != null;\n\n if (!this.canAccessAttachments) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.platformUtilsService.launchUri('https://vault.bitwarden.com/#/?premium=purchase');\n }\n } else if (!this.hasUpdatedKey) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateKey'), this.i18nService.t('featureUnavailable'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'), 'warning');\n if (confirmed) {\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/update-encryption-key/');\n }\n }\n }\n\n async submit() {\n if (!this.hasUpdatedKey) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('updateKey'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n if (files[0].size > 104857600) { // 100 MB\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('maxFileSize'));\n return;\n }\n\n try {\n this.formPromise = this.saveCipherAttachment(files[0]);\n this.cipherDomain = await this.formPromise;\n this.cipher = await this.cipherDomain.decrypt();\n this.analytics.eventTrack.next({ action: 'Added Attachment' });\n this.toasterService.popAsync('success', null, this.i18nService.t('attachmentSaved'));\n this.onUploadedAttachment.emit();\n } catch { }\n\n // reset file input\n // ref: https://stackoverflow.com/a/20552042\n fileEl.type = '';\n fileEl.type = 'file';\n fileEl.value = '';\n }\n\n async delete(attachment: AttachmentView) {\n if (this.deletePromises[attachment.id] != null) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteAttachmentConfirmation'), this.i18nService.t('deleteAttachment'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n this.analytics.eventTrack.next({ action: 'Deleted Attachment' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedAttachment'));\n const i = this.cipher.attachments.indexOf(attachment);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n } catch { }\n\n this.deletePromises[attachment.id] = null;\n this.onDeletedAttachment.emit();\n }\n\n async download(attachment: AttachmentView) {\n const a = (attachment as any);\n if (a.downloading) {\n return;\n }\n\n if (!this.canAccessAttachments) {\n this.toasterService.popAsync('error', this.i18nService.t('premiumRequired'),\n this.i18nService.t('premiumRequiredDesc'));\n return;\n }\n\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-cache' }));\n if (response.status !== 200) {\n this.toasterService.popAsync('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const key = await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.platformUtilsService.saveFile(this.win, decBuf, null, attachment.fileName);\n } catch (e) {\n this.toasterService.popAsync('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n return this.cipherService.deleteAttachmentWithServer(this.cipher.id, attachmentId);\n }\n}\n","import {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { FieldType } from '../../enums/fieldType';\nimport { SecureNoteType } from '../../enums/secureNoteType';\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nimport { AuditService } from '../../abstractions/audit.service';\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { CardView } from '../../models/view/cardView';\nimport { CipherView } from '../../models/view/cipherView';\nimport { FieldView } from '../../models/view/fieldView';\nimport { FolderView } from '../../models/view/folderView';\nimport { IdentityView } from '../../models/view/identityView';\nimport { LoginUriView } from '../../models/view/loginUriView';\nimport { LoginView } from '../../models/view/loginView';\nimport { SecureNoteView } from '../../models/view/secureNoteView';\n\nexport class AddEditComponent {\n @Input() folderId: string = null;\n @Input() cipherId: string;\n @Input() type: CipherType;\n @Output() onSavedCipher = new EventEmitter();\n @Output() onDeletedCipher = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n @Output() onEditAttachments = new EventEmitter();\n @Output() onGeneratePassword = new EventEmitter();\n\n editMode: boolean = false;\n cipher: CipherView;\n folders: FolderView[];\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n checkPasswordPromise: Promise;\n showPassword: boolean = false;\n showCardCode: boolean = false;\n cipherType = CipherType;\n fieldType = FieldType;\n addFieldType: FieldType = FieldType.Text;\n typeOptions: any[];\n cardBrandOptions: any[];\n cardExpMonthOptions: any[];\n identityTitleOptions: any[];\n addFieldTypeOptions: any[];\n uriMatchOptions: any[];\n\n constructor(protected cipherService: CipherService, protected folderService: FolderService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected auditService: AuditService, protected stateService: StateService) {\n this.typeOptions = [\n { name: i18nService.t('typeLogin'), value: CipherType.Login },\n { name: i18nService.t('typeCard'), value: CipherType.Card },\n { name: i18nService.t('typeIdentity'), value: CipherType.Identity },\n { name: i18nService.t('typeSecureNote'), value: CipherType.SecureNote },\n ];\n this.cardBrandOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: 'Visa', value: 'Visa' },\n { name: 'Mastercard', value: 'Mastercard' },\n { name: 'American Express', value: 'Amex' },\n { name: 'Discover', value: 'Discover' },\n { name: 'Diners Club', value: 'Diners Club' },\n { name: 'JCB', value: 'JCB' },\n { name: 'Maestro', value: 'Maestro' },\n { name: 'UnionPay', value: 'UnionPay' },\n { name: i18nService.t('other'), value: 'Other' },\n ];\n this.cardExpMonthOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: '01 - ' + i18nService.t('january'), value: '1' },\n { name: '02 - ' + i18nService.t('february'), value: '2' },\n { name: '03 - ' + i18nService.t('march'), value: '3' },\n { name: '04 - ' + i18nService.t('april'), value: '4' },\n { name: '05 - ' + i18nService.t('may'), value: '5' },\n { name: '06 - ' + i18nService.t('june'), value: '6' },\n { name: '07 - ' + i18nService.t('july'), value: '7' },\n { name: '08 - ' + i18nService.t('august'), value: '8' },\n { name: '09 - ' + i18nService.t('september'), value: '9' },\n { name: '10 - ' + i18nService.t('october'), value: '10' },\n { name: '11 - ' + i18nService.t('november'), value: '11' },\n { name: '12 - ' + i18nService.t('december'), value: '12' },\n ];\n this.identityTitleOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: i18nService.t('mr'), value: i18nService.t('mr') },\n { name: i18nService.t('mrs'), value: i18nService.t('mrs') },\n { name: i18nService.t('ms'), value: i18nService.t('ms') },\n { name: i18nService.t('dr'), value: i18nService.t('dr') },\n ];\n this.addFieldTypeOptions = [\n { name: i18nService.t('cfTypeText'), value: FieldType.Text },\n { name: i18nService.t('cfTypeHidden'), value: FieldType.Hidden },\n { name: i18nService.t('cfTypeBoolean'), value: FieldType.Boolean },\n ];\n this.uriMatchOptions = [\n { name: i18nService.t('defaultMatchDetection'), value: null },\n { name: i18nService.t('baseDomain'), value: UriMatchType.Domain },\n { name: i18nService.t('host'), value: UriMatchType.Host },\n { name: i18nService.t('startsWith'), value: UriMatchType.StartsWith },\n { name: i18nService.t('regEx'), value: UriMatchType.RegularExpression },\n { name: i18nService.t('exact'), value: UriMatchType.Exact },\n { name: i18nService.t('never'), value: UriMatchType.Never },\n ];\n }\n\n async load() {\n this.editMode = this.cipherId != null;\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editItem');\n } else {\n this.title = this.i18nService.t('addItem');\n }\n\n this.cipher = await this.stateService.get('addEditCipher');\n await this.stateService.remove('addEditCipher');\n if (this.cipher == null) {\n if (this.editMode) {\n const cipher = await this.loadCipher();\n this.cipher = await cipher.decrypt();\n } else {\n this.cipher = new CipherView();\n this.cipher.folderId = this.folderId;\n this.cipher.type = this.type == null ? CipherType.Login : this.type;\n this.cipher.login = new LoginView();\n this.cipher.login.uris = [new LoginUriView()];\n this.cipher.card = new CardView();\n this.cipher.identity = new IdentityView();\n this.cipher.secureNote = new SecureNoteView();\n this.cipher.secureNote.type = SecureNoteType.Generic;\n }\n }\n\n this.folders = await this.folderService.getAllDecrypted();\n }\n\n async submit(): Promise {\n if (this.cipher.name == null || this.cipher.name === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n if (!this.editMode && this.cipher.type === CipherType.Login &&\n this.cipher.login.uris != null && this.cipher.login.uris.length === 1 &&\n (this.cipher.login.uris[0].uri == null || this.cipher.login.uris[0].uri === '')) {\n this.cipher.login.uris = null;\n }\n\n const cipher = await this.encryptCipher();\n try {\n this.formPromise = this.saveCipher(cipher);\n await this.formPromise;\n this.cipher.id = cipher.id;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Cipher' : 'Added Cipher' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedItem' : 'addedItem'));\n this.onSavedCipher.emit(this.cipher);\n return true;\n } catch { }\n\n return false;\n }\n\n addUri() {\n if (this.cipher.type !== CipherType.Login) {\n return;\n }\n\n if (this.cipher.login.uris == null) {\n this.cipher.login.uris = [];\n }\n\n this.cipher.login.uris.push(new LoginUriView());\n }\n\n removeUri(uri: LoginUriView) {\n if (this.cipher.type !== CipherType.Login || this.cipher.login.uris == null) {\n return;\n }\n\n const i = this.cipher.login.uris.indexOf(uri);\n if (i > -1) {\n this.cipher.login.uris.splice(i, 1);\n }\n }\n\n addField() {\n if (this.cipher.fields == null) {\n this.cipher.fields = [];\n }\n\n const f = new FieldView();\n f.type = this.addFieldType;\n this.cipher.fields.push(f);\n }\n\n removeField(field: FieldView) {\n const i = this.cipher.fields.indexOf(field);\n if (i > -1) {\n this.cipher.fields.splice(i, 1);\n }\n }\n\n cancel() {\n this.onCancelled.emit(this.cipher);\n }\n\n attachments() {\n this.onEditAttachments.emit(this.cipher);\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.deleteCipher();\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\n this.onDeletedCipher.emit(this.cipher);\n } catch { }\n\n return true;\n }\n\n async generatePassword(): Promise {\n if (this.cipher.login != null && this.cipher.login.password != null && this.cipher.login.password.length) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('overwritePasswordConfirmation'), this.i18nService.t('overwritePassword'),\n this.i18nService.t('yes'), this.i18nService.t('no'));\n if (!confirmed) {\n return false;\n }\n }\n\n this.onGeneratePassword.emit();\n return true;\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Password on Edit' });\n this.showPassword = !this.showPassword;\n document.getElementById('loginPassword').focus();\n }\n\n toggleCardCode() {\n this.analytics.eventTrack.next({ action: 'Toggled CardCode on Edit' });\n this.showCardCode = !this.showCardCode;\n document.getElementById('cardCode').focus();\n }\n\n toggleFieldValue(field: FieldView) {\n const f = (field as any);\n f.showValue = !f.showValue;\n }\n\n toggleUriOptions(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null && uri.match != null ? false : !u.showOptions;\n }\n\n loginUriMatchChanged(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null ? true : u.showOptions;\n }\n\n async checkPassword() {\n if (this.checkPasswordPromise != null) {\n return;\n }\n\n if (this.cipher.login == null || this.cipher.login.password == null || this.cipher.login.password === '') {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Check Password' });\n this.checkPasswordPromise = this.auditService.passwordLeaked(this.cipher.login.password);\n const matches = await this.checkPasswordPromise;\n this.checkPasswordPromise = null;\n\n if (matches > 0) {\n this.toasterService.popAsync('warning', null, this.i18nService.t('passwordExposed', matches.toString()));\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('passwordSafe'));\n }\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected encryptCipher() {\n return this.cipherService.encrypt(this.cipher);\n }\n\n protected saveCipher(cipher: Cipher) {\n return this.cipherService.saveWithServer(cipher);\n }\n\n protected deleteCipher() {\n return this.cipherService.deleteWithServer(this.cipher.id);\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\nimport { FolderWithIdRequest } from './folderWithIdRequest';\n\nexport class UpdateKeyRequest {\n ciphers: CipherWithIdRequest[] = [];\n folders: FolderWithIdRequest[] = [];\n masterPasswordHash: string;\n privateKey: string;\n key: string;\n}\n","import { FolderRequest } from './folderRequest';\n\nimport { Folder } from '../domain/folder';\n\nexport class FolderWithIdRequest extends FolderRequest {\n id: string;\n\n constructor(folder: Folder) {\n super(folder);\n this.id = folder.id;\n }\n}\n","import {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { CipherService } from '../../abstractions/cipher.service';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class CiphersComponent {\n @Input() activeCipherId: string = null;\n @Output() onCipherClicked = new EventEmitter();\n @Output() onCipherRightClicked = new EventEmitter();\n @Output() onAddCipher = new EventEmitter();\n @Output() onAddCipherOptions = new EventEmitter();\n\n loaded: boolean = false;\n ciphers: CipherView[] = [];\n searchText: string;\n searchPlaceholder: string = null;\n\n protected allCiphers: CipherView[] = [];\n protected filter: (cipher: CipherView) => boolean = null;\n\n constructor(protected cipherService: CipherService) { }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n this.allCiphers = await this.cipherService.getAllDecrypted();\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n async refresh() {\n this.loaded = false;\n this.ciphers = [];\n await this.load(this.filter);\n }\n\n applyFilter(filter: (cipher: CipherView) => boolean = null) {\n this.filter = filter;\n if (this.filter == null) {\n this.ciphers = this.allCiphers;\n } else {\n this.ciphers = this.allCiphers.filter(this.filter);\n }\n }\n\n selectCipher(cipher: CipherView) {\n this.onCipherClicked.emit(cipher);\n }\n\n rightClickCipher(cipher: CipherView) {\n this.onCipherRightClicked.emit(cipher);\n }\n\n addCipher() {\n this.onAddCipher.emit();\n }\n\n addCipherOptions() {\n this.onAddCipherOptions.emit();\n }\n}\n","export enum LogLevelType {\r\n Debug,\r\n Info,\r\n Warning,\r\n Error,\r\n}\r\n","export { CipherType } from './cipherType';\r\nexport { DeviceType } from './deviceType';\r\nexport { EncryptionType } from './encryptionType';\r\nexport { FieldType } from './fieldType';\r\nexport { LogLevelType } from './logLevelType';\r\nexport { SecureNoteType } from './secureNoteType';\r\nexport { TwoFactorProviderType } from './twoFactorProviderType';\r\nexport { UriMatchType } from './uriMatchType';\r\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appFallbackSrc]',\r\n})\r\nexport class FallbackSrcDirective {\n @Input('appFallbackSrc') appFallbackSrc: string;\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('error') onError() {\r\n this.el.nativeElement.src = this.appFallbackSrc;\r\n }\r\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { CollectionView } from '../../models/view/collectionView';\nimport { FolderView } from '../../models/view/folderView';\n\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { FolderService } from '../../abstractions/folder.service';\n\nexport class GroupingsComponent {\n @Input() showFolders = true;\n @Input() showCollections = true;\n @Input() showFavorites = true;\n\n @Output() onAllClicked = new EventEmitter();\n @Output() onFavoritesClicked = new EventEmitter();\n @Output() onCipherTypeClicked = new EventEmitter();\n @Output() onFolderClicked = new EventEmitter();\n @Output() onAddFolder = new EventEmitter();\n @Output() onEditFolder = new EventEmitter();\n @Output() onCollectionClicked = new EventEmitter();\n\n folders: FolderView[];\n collections: CollectionView[];\n loaded: boolean = false;\n cipherType = CipherType;\n selectedAll: boolean = false;\n selectedFavorites: boolean = false;\n selectedType: CipherType = null;\n selectedFolder: boolean = false;\n selectedFolderId: string = null;\n selectedCollectionId: string = null;\n\n constructor(protected collectionService: CollectionService, protected folderService: FolderService) { }\n\n async load(setLoaded = true) {\n await this.loadFolders();\n await this.loadCollections();\n\n if (setLoaded) {\n this.loaded = true;\n }\n }\n\n async loadCollections(organizationId?: string) {\n if (!this.showCollections) {\n return;\n }\n const collections = await this.collectionService.getAllDecrypted();\n if (organizationId != null) {\n this.collections = collections.filter((c) => c.organizationId === organizationId);\n } else {\n this.collections = collections;\n }\n }\n\n async loadFolders() {\n if (!this.showFolders) {\n return;\n }\n this.folders = await this.folderService.getAllDecrypted();\n }\n\n selectAll() {\n this.clearSelections();\n this.selectedAll = true;\n this.onAllClicked.emit();\n }\n\n selectFavorites() {\n this.clearSelections();\n this.selectedFavorites = true;\n this.onFavoritesClicked.emit();\n }\n\n selectType(type: CipherType) {\n this.clearSelections();\n this.selectedType = type;\n this.onCipherTypeClicked.emit(type);\n }\n\n selectFolder(folder: FolderView) {\n this.clearSelections();\n this.selectedFolder = true;\n this.selectedFolderId = folder.id;\n this.onFolderClicked.emit(folder);\n }\n\n addFolder() {\n this.onAddFolder.emit();\n }\n\n editFolder(folder: FolderView) {\n this.onEditFolder.emit(folder);\n }\n\n selectCollection(collection: CollectionView) {\n this.clearSelections();\n this.selectedCollectionId = collection.id;\n this.onCollectionClicked.emit(collection);\n }\n\n clearSelections() {\n this.selectedAll = false;\n this.selectedFavorites = false;\n this.selectedType = null;\n this.selectedFolder = false;\n this.selectedFolderId = null;\n this.selectedCollectionId = null;\n }\n}\n","
\n
\n {{'verifyEmail' | i18n}}\n
\n
\n

{{'verifyEmailDesc' | i18n}}

\n \n
\n
\n","
\n
\n
\n \n \n
\n \n
\n
\n
\n {{'updateKeyTitle' | i18n}}\n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}}

\n \n
\n
\n \n
\n
\n {{'updateBrowser' | i18n}}\n
\n
\n

{{'updateBrowserDesc' | i18n}}

\n \n {{'updateBrowser' | i18n}}\n \n
\n
\n
\n
\n {{'goPremium' | i18n}}\n
\n
\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n \n {{'goPremium' | i18n}}\n \n
\n
\n
\n
\n {{'organizations' | i18n}}\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n\n\n\n\n\n\n\n\n\n","\r\n\r\n\r\n","export class VerifyDeleteRecoverRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n {{'deleteAccountWarning' | i18n}}\n

\n {{email}}\n

\n

{{'deleteRecoverConfirmDesc' | i18n}}

\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class DeleteRecoverRequest {\n email: string;\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n

{{'deleteRecoverDesc' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorRecoveryRequest extends PasswordVerificationRequest {\n recoveryCode: string;\n email: string;\n}\n","
\n
\n
\n

{{'recoverAccountTwoStep' | i18n}}

\n
\n
\n

{{'recoverAccountTwoStepDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class OrganizationUserAcceptRequest {\n token: string;\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n
\n
\n
\n

{{'joinOrganization' | i18n}}

\n
\n
\n

\n {{orgName}}\n {{email}}\n

\n

{{'joinOrganizationDesc' | i18n}}

\n
\n \n
\n
\n
\n
\n
\n","export class VerifyEmailRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nexport class LockComponent {\r\n masterPassword: string = '';\r\n showPassword: boolean = false;\r\n\r\n protected successRoute: string = 'vault';\r\n\r\n constructor(protected router: Router, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService, protected messagingService: MessagingService,\r\n protected userService: UserService, protected cryptoService: CryptoService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const email = await this.userService.getEmail();\r\n const key = await this.cryptoService.makeKey(this.masterPassword, email);\r\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const storedKeyHash = await this.cryptoService.getKeyHash();\r\n\r\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\r\n await this.cryptoService.setKey(key);\r\n this.messagingService.send('unlocked');\r\n this.router.navigate([this.successRoute]);\r\n } else {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidMasterPassword'));\r\n }\r\n }\r\n\r\n async logOut() {\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\r\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\r\n if (confirmed) {\r\n this.messagingService.send('logout');\r\n }\r\n }\r\n\r\n togglePassword() {\r\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Unlock' });\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('masterPassword').focus();\r\n }\r\n}\r\n","
\n
\n
\n

\n \n

\n

{{'yourVaultIsLocked' | i18n}}

\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","export class PasswordHintRequest {\r\n email: string;\r\n\r\n constructor(email: string) {\r\n this.email = email;\r\n }\r\n}\r\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { PasswordHintRequest } from '../../models/request/passwordHintRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\n\r\nexport class HintComponent {\r\n email: string = '';\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n\r\n constructor(protected router: Router, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected apiService: ApiService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postPasswordHint(new PasswordHintRequest(this.email));\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Requested Hint' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('masterPassSent'));\r\n this.router.navigate([this.successRoute]);\r\n } catch { }\r\n }\r\n}\r\n","
\n
\n
\n

{{'passwordHint' | i18n}}

\n
\n
\n
\n \n \n {{'enterEmailToGetHint' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { KeysRequest } from './keysRequest';\n\nexport class RegisterRequest {\n name: string;\n email: string;\n masterPasswordHash: string;\n masterPasswordHint: string;\n key: string;\n keys: KeysRequest;\n token: string;\n organizationUserId: string;\n\n constructor(email: string, name: string, masterPasswordHash: string, masterPasswordHint: string, key: string) {\n this.name = name;\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n this.key = key;\n }\n}\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { KeysRequest } from '../../models/request/keysRequest';\r\nimport { RegisterRequest } from '../../models/request/registerRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\n\r\nexport class RegisterComponent {\r\n name: string = '';\r\n email: string = '';\r\n masterPassword: string = '';\r\n confirmMasterPassword: string = '';\r\n hint: string = '';\r\n showPassword: boolean = false;\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected analytics: Angulartics2, protected toasterService: ToasterService,\r\n protected i18nService: I18nService, protected cryptoService: CryptoService,\r\n protected apiService: ApiService, protected stateService: StateService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n if (this.masterPassword.length < 8) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassLength'));\r\n return;\r\n }\r\n if (this.masterPassword !== this.confirmMasterPassword) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassDoesntMatch'));\r\n return;\r\n }\r\n\r\n this.name = this.name === '' ? null : this.name;\r\n this.email = this.email.toLowerCase();\r\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email);\r\n const encKey = await this.cryptoService.makeEncKey(key);\r\n const hashedPassword = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\r\n const request = new RegisterRequest(this.email, this.name, hashedPassword,\r\n this.hint, encKey[1].encryptedString);\r\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\r\n const orgInvite = await this.stateService.get('orgInvitation');\r\n if (orgInvite != null && orgInvite.token != null && orgInvite.organizationUserId != null) {\r\n request.token = orgInvite.token;\r\n request.organizationUserId = orgInvite.organizationUserId;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postRegister(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Registered' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('newAccountCreated'));\r\n this.router.navigate([this.successRoute], { queryParams: { email: this.email } });\r\n } catch { }\r\n }\r\n\r\n togglePassword(confirmField: boolean) {\r\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Register' });\r\n this.showPassword = !this.showPassword;\r\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\r\n }\r\n}\r\n","
\n
\n
\n

{{'createAccount' | i18n}}

\n
\n
\n \n {{'createOrganizationCreatePersonalAccount' | i18n}}\n \n
\n \n \n {{'emailAddressDesc' | i18n}}\n
\n
\n \n \n {{'yourNameDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n {{'masterPassDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n {{'masterPassHintDesc' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n {{'submitAgreePolicies' | i18n}}\n {{'termsOfService' | i18n}},\n {{'privacyPolicy' | i18n}}\n \n
\n
\n
\n
\n
\n","export class U2f {\r\n private iframe: HTMLIFrameElement = null;\r\n private connectorLink: HTMLAnchorElement;\r\n private parseFunction = this.parseMessage.bind(this);\r\n\r\n constructor(private win: Window, private webVaultUrl: string, private successCallback: Function,\r\n private errorCallback: Function, private infoCallback: Function) {\r\n this.connectorLink = win.document.createElement('a');\r\n this.webVaultUrl = webVaultUrl != null && webVaultUrl !== '' ? webVaultUrl : 'https://vault.bitwarden.com';\r\n }\r\n\r\n init(data: any): void {\r\n this.connectorLink.href = this.webVaultUrl + '/u2f-connector.html' +\r\n '?data=' + this.base64Encode(JSON.stringify(data)) +\r\n '&parent=' + encodeURIComponent(this.win.document.location.href) +\r\n '&v=1';\r\n\r\n this.iframe = this.win.document.getElementById('u2f_iframe') as HTMLIFrameElement;\r\n this.iframe.src = this.connectorLink.href;\r\n\r\n this.win.addEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n stop() {\r\n this.sendMessage('stop');\r\n }\r\n\r\n start() {\r\n this.sendMessage('start');\r\n }\r\n\r\n sendMessage(message: any) {\r\n if (!this.iframe || !this.iframe.src || !this.iframe.contentWindow) {\r\n return;\r\n }\r\n\r\n this.iframe.contentWindow.postMessage(message, this.iframe.src);\r\n }\r\n\r\n base64Encode(str: string): string {\r\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {\r\n return String.fromCharCode(('0x' + p1) as any);\r\n }));\r\n }\r\n\r\n cleanup() {\r\n this.win.removeEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n private parseMessage(event: MessageEvent) {\r\n if (!this.validMessage(event)) {\r\n return;\r\n }\r\n\r\n const parts: string[] = event.data.split('|');\r\n if (parts[0] === 'success' && this.successCallback) {\r\n this.successCallback(parts[1]);\r\n } else if (parts[0] === 'error' && this.errorCallback) {\r\n this.errorCallback(parts[1]);\r\n } else if (parts[0] === 'info' && this.infoCallback) {\r\n this.infoCallback(parts[1]);\r\n }\r\n }\r\n\r\n private validMessage(event: MessageEvent) {\r\n if (event.origin == null || event.origin === '' || event.origin !== (this.connectorLink as any).origin ||\r\n event.data == null || typeof (event.data) !== 'string') {\r\n return false;\r\n }\r\n\r\n return event.data.indexOf('success|') === 0 || event.data.indexOf('error|') === 0 ||\r\n event.data.indexOf('info|') === 0;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { DeviceRequest } from './deviceRequest';\r\n\r\nexport class TokenRequest {\r\n email: string;\r\n masterPasswordHash: string;\r\n token: string;\r\n provider: TwoFactorProviderType;\r\n remember: boolean;\r\n device?: DeviceRequest;\r\n\r\n constructor(email: string, masterPasswordHash: string, provider: TwoFactorProviderType,\r\n token: string, remember: boolean, device?: DeviceRequest) {\r\n this.email = email;\r\n this.masterPasswordHash = masterPasswordHash;\r\n this.token = token;\r\n this.provider = provider;\r\n this.remember = remember;\r\n this.device = device != null ? device : null;\r\n }\r\n\r\n toIdentityToken(clientId: string) {\r\n const obj: any = {\r\n grant_type: 'password',\r\n username: this.email,\r\n password: this.masterPasswordHash,\r\n scope: 'api offline_access',\r\n client_id: clientId,\r\n };\r\n\r\n if (this.device) {\r\n obj.deviceType = this.device.type;\r\n obj.deviceIdentifier = this.device.identifier;\r\n obj.deviceName = this.device.name;\r\n // no push tokens for browser apps yet\r\n // obj.devicePushToken = this.device.pushToken;\r\n }\r\n\r\n if (this.token && this.provider !== null && (typeof this.provider !== 'undefined')) {\r\n obj.twoFactorToken = this.token;\r\n obj.twoFactorProvider = this.provider;\r\n obj.twoFactorRemember = this.remember ? '1' : '0';\r\n }\r\n\r\n return obj;\r\n }\r\n}\r\n","import { DeviceType } from '../../enums/deviceType';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class DeviceRequest {\r\n type: DeviceType;\r\n name: string;\r\n identifier: string;\r\n pushToken?: string;\r\n\r\n constructor(appId: string, platformUtilsService: PlatformUtilsService) {\r\n this.type = platformUtilsService.getDevice();\r\n this.name = platformUtilsService.getDeviceString();\r\n this.identifier = appId;\r\n this.pushToken = null;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class AuthResult {\r\n twoFactor: boolean = false;\r\n twoFactorProviders: Map = null;\r\n}\r\n","import {\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { DeviceType } from '../../enums/deviceType';\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { TwoFactorProviders } from '../../services/auth.service';\n\nimport * as DuoWebSDK from '../../misc/duo';\nimport { U2f } from '../../misc/u2f';\n\nexport class TwoFactorComponent implements OnInit, OnDestroy {\n token: string = '';\n remember: boolean = false;\n u2fReady: boolean = false;\n providers = TwoFactorProviders;\n providerType = TwoFactorProviderType;\n selectedProviderType: TwoFactorProviderType = TwoFactorProviderType.Authenticator;\n u2fSupported: boolean = false;\n u2f: U2f = null;\n title: string = '';\n twoFactorEmail: string = null;\n formPromise: Promise;\n emailPromise: Promise;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n\n protected loginRoute = 'login';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, protected apiService: ApiService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window,\n protected environmentService: EnvironmentService) {\n this.u2fSupported = this.platformUtilsService.supportsU2f(win);\n }\n\n async ngOnInit() {\n if (this.authService.email == null || this.authService.masterPasswordHash == null ||\n this.authService.twoFactorProviders == null) {\n this.router.navigate([this.loginRoute]);\n return;\n }\n\n if (this.win != null && this.u2fSupported) {\n let customWebVaultUrl: string = null;\n if (this.environmentService.baseUrl != null) {\n customWebVaultUrl = this.environmentService.baseUrl;\n } else if (this.environmentService.webVaultUrl != null) {\n customWebVaultUrl = this.environmentService.webVaultUrl;\n }\n\n this.u2f = new U2f(this.win, customWebVaultUrl, (token: string) => {\n this.token = token;\n this.submit();\n }, (error: string) => {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), error);\n }, (info: string) => {\n if (info === 'ready') {\n this.u2fReady = true;\n }\n });\n }\n\n this.selectedProviderType = this.authService.getDefaultTwoFactorProvider(this.u2fSupported);\n await this.init();\n }\n\n ngOnDestroy(): void {\n this.cleanupU2f();\n this.u2f = null;\n }\n\n async init() {\n if (this.selectedProviderType == null) {\n this.title = this.i18nService.t('loginUnavailable');\n return;\n }\n\n this.cleanupU2f();\n this.title = (TwoFactorProviders as any)[this.selectedProviderType].name;\n const params = this.authService.twoFactorProviders.get(this.selectedProviderType);\n switch (this.selectedProviderType) {\n case TwoFactorProviderType.U2f:\n if (!this.u2fSupported || this.u2f == null) {\n break;\n }\n\n const challenges = JSON.parse(params.Challenges);\n if (challenges.length > 0) {\n this.u2f.init({\n appId: challenges[0].appId,\n challenge: challenges[0].challenge,\n keys: [{\n version: challenges[0].version,\n keyHandle: challenges[0].keyHandle,\n }],\n });\n }\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n if (this.platformUtilsService.getDevice() === DeviceType.SafariExtension) {\n break;\n }\n\n setTimeout(() => {\n DuoWebSDK.init({\n iframe: undefined,\n host: params.Host,\n sig_request: params.Signature,\n submit_callback: async (f: HTMLFormElement) => {\n const sig = f.querySelector('input[name=\"sig_response\"]') as HTMLInputElement;\n if (sig != null) {\n this.token = sig.value;\n await this.submit();\n }\n },\n });\n }, 0);\n break;\n case TwoFactorProviderType.Email:\n this.twoFactorEmail = params.Email;\n if (this.authService.twoFactorProviders.size > 1) {\n await this.sendEmail(false);\n }\n break;\n default:\n break;\n }\n }\n\n async submit() {\n if (this.token == null || this.token === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verificationCodeRequired'));\n return;\n }\n\n if (this.selectedProviderType === TwoFactorProviderType.U2f) {\n if (this.u2f != null) {\n this.u2f.stop();\n } else {\n return;\n }\n } else if (this.selectedProviderType === TwoFactorProviderType.Email ||\n this.selectedProviderType === TwoFactorProviderType.Authenticator) {\n this.token = this.token.replace(' ', '').trim();\n }\n\n try {\n this.formPromise = this.authService.logInTwoFactor(this.selectedProviderType, this.token, this.remember);\n await this.formPromise;\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.analytics.eventTrack.next({ action: 'Logged In From Two-step' });\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute]);\n }\n } catch (e) {\n if (this.selectedProviderType === TwoFactorProviderType.U2f && this.u2f != null) {\n this.u2f.start();\n } else {\n throw e;\n }\n }\n }\n\n async sendEmail(doToast: boolean) {\n if (this.selectedProviderType !== TwoFactorProviderType.Email) {\n return;\n }\n\n if (this.emailPromise != null) {\n return;\n }\n\n try {\n const request = new TwoFactorEmailRequest(this.authService.email, this.authService.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmail(request);\n await this.emailPromise;\n if (doToast) {\n this.toasterService.popAsync('success', null,\n this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));\n }\n } catch { }\n\n this.emailPromise = null;\n }\n\n private cleanupU2f() {\n if (this.u2f != null) {\n this.u2f.stop();\n this.u2f.cleanup();\n }\n }\n}\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n EventEmitter,\r\n OnDestroy,\r\n Output,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent implements OnDestroy {\r\n @Output() onClose = new EventEmitter();\r\n @Output() onClosed = new EventEmitter();\r\n @Output() onShow = new EventEmitter();\r\n @Output() onShown = new EventEmitter();\r\n @ViewChild('container', { read: ViewContainerRef }) container: ViewContainerRef;\r\n parentContainer: ViewContainerRef = null;\r\n fade: boolean = true;\r\n\r\n constructor(protected componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('modal-open');\r\n document.body.removeChild(document.querySelector('.modal-backdrop'));\r\n }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.onShow.emit();\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n document.body.classList.add('modal-open');\r\n const backdrop = document.createElement('div');\r\n backdrop.className = 'modal-backdrop' + (this.fade ? ' fade' : '');\r\n document.body.appendChild(backdrop);\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n document.querySelector('.modal-dialog').addEventListener('click', (e: Event) => {\r\n e.stopPropagation();\r\n });\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss=\"modal\"]'));\r\n for (const closeElement of modals) {\r\n closeElement.addEventListener('click', (event) => {\r\n this.close();\r\n });\r\n }\r\n\r\n this.onShown.emit();\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n this.onClose.emit();\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n }\r\n}\r\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { TwoFactorProviders } from '../../services/auth.service';\n\nexport class TwoFactorOptionsComponent implements OnInit {\n @Output() onProviderSelected = new EventEmitter();\n @Output() onRecoverSelected = new EventEmitter();\n\n providers: any[] = [];\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected win: Window) { }\n\n ngOnInit() {\n this.providers = this.authService.getSupportedTwoFactorProviders(this.win);\n }\n\n choose(p: any) {\n this.onProviderSelected.emit(p.type);\n }\n\n recover() {\n this.analytics.eventTrack.next({ action: 'Selected Recover' });\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/lost-two-step-device/');\n this.onRecoverSelected.emit();\n }\n}\n","
\n
\n
\n

{{title}}

\n
\n
\n \n

{{'enterVerificationCodeApp' | i18n}}

\n

\n {{'enterVerificationCodeEmail' | i18n : twoFactorEmail}}\n

\n
\n \n \n \n \n {{'sendVerificationCodeEmailAgain' | i18n}}\n \n \n
\n
\n \n

{{'insertYubiKey' | i18n}}

\n \"\"\n
\n \n \n
\n
\n \n

\n \n

\n \n

{{'insertU2f' | i18n}}

\n \"\"\n
\n
\n \n
\n \n
\n
\n \n
\n \n \n
\n \n

{{'noTwoStepProviders' | i18n}}

\n

{{'noTwoStepProviders2' | i18n}}

\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n
\n
\n
\n
\n
\n\n\n","import {\n Input,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { Utils } from '../../misc/utils';\n\nconst Keys = {\n rememberedEmail: 'rememberedEmail',\n rememberEmail: 'rememberEmail',\n};\n\nexport class LoginComponent implements OnInit {\n @Input() email: string = '';\n @Input() rememberEmail = true;\n\n masterPassword: string = '';\n showPassword: boolean = false;\n formPromise: Promise;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, private storageService: StorageService) { }\n\n async ngOnInit() {\n if (this.email == null || this.email === '') {\n this.email = await this.storageService.get(Keys.rememberedEmail);\n if (this.email == null) {\n this.email = '';\n }\n }\n this.rememberEmail = await this.storageService.get(Keys.rememberEmail);\n if (this.rememberEmail == null) {\n this.rememberEmail = true;\n }\n if (Utils.isBrowser) {\n document.getElementById(this.email == null || this.email === '' ? 'email' : 'masterPassword').focus();\n }\n }\n\n async submit() {\n if (this.email == null || this.email === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.authService.logIn(this.email, this.masterPassword);\n const response = await this.formPromise;\n await this.storageService.save(Keys.rememberEmail, this.rememberEmail);\n if (this.rememberEmail) {\n await this.storageService.save(Keys.rememberedEmail, this.email);\n } else {\n await this.storageService.remove(Keys.rememberedEmail);\n }\n if (response.twoFactor) {\n this.analytics.eventTrack.next({ action: 'Logged In To Two-step' });\n this.router.navigate([this.twoFactorRoute]);\n } else {\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.analytics.eventTrack.next({ action: 'Logged In' });\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n } catch { }\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Login' });\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n}\n","
\n
\n
\n \n

{{'loginOrCreateNewAccount' | i18n}}

\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n \n {{'getMasterPasswordHint' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n \n \n {{'createAccount' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","\r\n
\r\n © 2018, 8bit Solutions LLC\r\n
{{'versionNumber' | i18n : version}}\r\n
\r\n","import 'core-js';\n\nimport { ToasterModule } from 'angular2-toaster';\nimport { Angulartics2Module } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { ServicesModule } from './services/services.module';\n\nimport { AppComponent } from './app.component';\nimport { ModalComponent } from './modal.component';\n\nimport { AvatarComponent } from './components/avatar.component';\nimport { CalloutComponent } from './components/callout.component';\n\nimport { FooterComponent } from './layouts/footer.component';\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { NavbarComponent } from './layouts/navbar.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorOptionsComponent } from './accounts/two-factor-options.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport {\n CollectionAddEditComponent as OrgCollectionAddEditComponent,\n} from './organizations/manage/collection-add-edit.component';\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EntityEventsComponent as OrgEntityEventsComponent } from './organizations/manage/entity-events.component';\nimport { EntityUsersComponent as OrgEntityUsersComponent } from './organizations/manage/entity-users.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupAddEditComponent as OrgGroupAddEditComponent } from './organizations/manage/group-add-edit.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\nimport { UserAddEditComponent as OrgUserAddEditComponent } from './organizations/manage/user-add-edit.component';\nimport { UserGroupsComponent as OrgUserGroupsComponent } from './organizations/manage/user-groups.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { AdjustSeatsComponent } from './organizations/settings/adjust-seats.component';\nimport { DeleteOrganizationComponent } from './organizations/settings/delete-organization.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { SettingsComponent as OrgSettingComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\n\nimport { AddEditComponent as OrgAddEditComponent } from './organizations/vault/add-edit.component';\nimport { AttachmentsComponent as OrgAttachmentsComponent } from './organizations/vault/attachments.component';\nimport { CiphersComponent as OrgCiphersComponent } from './organizations/vault/ciphers.component';\nimport { CollectionsComponent as OrgCollectionsComponent } from './organizations/vault/collections.component';\nimport { GroupingsComponent as OrgGroupingsComponent } from './organizations/vault/groupings.component';\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { AdjustPaymentComponent } from './settings/adjust-payment.component';\nimport { AdjustStorageComponent } from './settings/adjust-storage.component';\nimport { ChangeEmailComponent } from './settings/change-email.component';\nimport { ChangePasswordComponent } from './settings/change-password.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DeauthorizeSessionsComponent } from './settings/deauthorize-sessions.component';\nimport { DeleteAccountComponent } from './settings/delete-account.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PaymentComponent } from './settings/payment.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { ProfileComponent } from './settings/profile.component';\nimport { PurgeVaultComponent } from './settings/purge-vault.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorAuthenticatorComponent } from './settings/two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './settings/two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './settings/two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './settings/two-factor-recovery.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { TwoFactorU2fComponent } from './settings/two-factor-u2f.component';\nimport { TwoFactorVerifyComponent } from './settings/two-factor-verify.component';\nimport { TwoFactorYubiKeyComponent } from './settings/two-factor-yubikey.component';\nimport { UpdateKeyComponent } from './settings/update-key.component';\nimport { UpdateLicenseComponent } from './settings/update-license.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\nimport { VerifyEmailComponent } from './settings/verify-email.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ImportComponent } from './tools/import.component';\nimport { PasswordGeneratorHistoryComponent } from './tools/password-generator-history.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ToolsComponent } from './tools/tools.component';\n\nimport { AddEditComponent } from './vault/add-edit.component';\nimport { AttachmentsComponent } from './vault/attachments.component';\nimport { BulkDeleteComponent } from './vault/bulk-delete.component';\nimport { BulkMoveComponent } from './vault/bulk-move.component';\nimport { BulkShareComponent } from './vault/bulk-share.component';\nimport { CiphersComponent } from './vault/ciphers.component';\nimport { CollectionsComponent } from './vault/collections.component';\nimport { FolderAddEditComponent } from './vault/folder-add-edit.component';\nimport { GroupingsComponent } from './vault/groupings.component';\nimport { ShareComponent } from './vault/share.component';\nimport { VaultComponent } from './vault/vault.component';\n\nimport { IconComponent } from 'jslib/angular/components/icon.component';\n\nimport { ApiActionDirective } from 'jslib/angular/directives/api-action.directive';\nimport { AutofocusDirective } from 'jslib/angular/directives/autofocus.directive';\nimport { BlurClickDirective } from 'jslib/angular/directives/blur-click.directive';\nimport { BoxRowDirective } from 'jslib/angular/directives/box-row.directive';\nimport { FallbackSrcDirective } from 'jslib/angular/directives/fallback-src.directive';\nimport { InputVerbatimDirective } from 'jslib/angular/directives/input-verbatim.directive';\nimport { StopClickDirective } from 'jslib/angular/directives/stop-click.directive';\nimport { StopPropDirective } from 'jslib/angular/directives/stop-prop.directive';\nimport { TrueFalseValueDirective } from 'jslib/angular/directives/true-false-value.directive';\n\nimport { I18nPipe } from 'jslib/angular/pipes/i18n.pipe';\nimport { SearchCiphersPipe } from 'jslib/angular/pipes/search-ciphers.pipe';\nimport { SearchPipe } from 'jslib/angular/pipes/search.pipe';\n\nimport { registerLocaleData } from '@angular/common';\nimport localeDa from '@angular/common/locales/da';\n\nregisterLocaleData(localeDa, 'da');\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n AppRoutingModule,\n ServicesModule,\n Angulartics2Module.forRoot([Angulartics2GoogleAnalytics], {\n pageTracking: {\n clearQueryParams: true,\n },\n }),\n ToasterModule,\n ],\n declarations: [\n AcceptOrganizationComponent,\n AccountComponent,\n AddEditComponent,\n AdjustPaymentComponent,\n AdjustSeatsComponent,\n AdjustStorageComponent,\n ApiActionDirective,\n AppComponent,\n AttachmentsComponent,\n AutofocusDirective,\n AvatarComponent,\n BlurClickDirective,\n BoxRowDirective,\n BreachReportComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CalloutComponent,\n ChangeEmailComponent,\n ChangePasswordComponent,\n CiphersComponent,\n CollectionsComponent,\n CreateOrganizationComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n DomainRulesComponent,\n ExportComponent,\n FallbackSrcDirective,\n FolderAddEditComponent,\n FooterComponent,\n FrontendLayoutComponent,\n GroupingsComponent,\n HintComponent,\n IconComponent,\n I18nPipe,\n ImportComponent,\n InputVerbatimDirective,\n LockComponent,\n LoginComponent,\n ModalComponent,\n NavbarComponent,\n OptionsComponent,\n OrgAccountComponent,\n OrgAddEditComponent,\n OrganizationBillingComponent,\n OrgAttachmentsComponent,\n OrgCiphersComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgEventsComponent,\n OrgExportComponent,\n OrgImportComponent,\n OrgGroupAddEditComponent,\n OrgGroupingsComponent,\n OrgGroupsComponent,\n OrgManageCollectionsComponent,\n OrgManageComponent,\n OrgPeopleComponent,\n OrgSettingComponent,\n OrgToolsComponent,\n OrgTwoFactorSetupComponent,\n OrgUserAddEditComponent,\n OrgUserGroupsComponent,\n OrganizationsComponent,\n OrganizationLayoutComponent,\n OrgVaultComponent,\n PasswordGeneratorComponent,\n PasswordGeneratorHistoryComponent,\n PaymentComponent,\n PremiumComponent,\n ProfileComponent,\n PurgeVaultComponent,\n RecoverDeleteComponent,\n RecoverTwoFactorComponent,\n RegisterComponent,\n SearchCiphersPipe,\n SearchPipe,\n SettingsComponent,\n ShareComponent,\n StopClickDirective,\n StopPropDirective,\n ToolsComponent,\n TrueFalseValueDirective,\n TwoFactorAuthenticatorComponent,\n TwoFactorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorSetupComponent,\n TwoFactorU2fComponent,\n TwoFactorVerifyComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n UpdateLicenseComponent,\n UserBillingComponent,\n UserLayoutComponent,\n VaultComponent,\n VerifyEmailComponent,\n VerifyEmailTokenComponent,\n VerifyRecoverDeleteComponent,\n ],\n entryComponents: [\n AddEditComponent,\n AttachmentsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CollectionsComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n FolderAddEditComponent,\n ModalComponent,\n OrgAddEditComponent,\n OrgAttachmentsComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgGroupAddEditComponent,\n OrgUserAddEditComponent,\n OrgUserGroupsComponent,\n PasswordGeneratorHistoryComponent,\n PurgeVaultComponent,\n ShareComponent,\n TwoFactorAuthenticatorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorU2fComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n ],\n providers: [],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport 'bootstrap';\nimport 'jquery';\nimport 'popper.js';\n\n// tslint:disable-next-line\nrequire('../scss/styles.scss');\n\nimport { AppModule } from './app.module';\n\nif (process.env.ENV === 'production') {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./jslib/src/abstractions/i18n.service.ts","webpack:///./jslib/src/abstractions/api.service.ts","webpack:///./jslib/src/angular/pipes/i18n.pipe.ts","webpack:///./jslib/src/abstractions/platformUtils.service.ts","webpack:///./jslib/src/angular/services/validation.service.ts","webpack:///./jslib/src/angular/directives/api-action.directive.ts","webpack:///./jslib/src/abstractions/crypto.service.ts","webpack:///./jslib/src/abstractions/user.service.ts","webpack:///./jslib/src/abstractions/cipher.service.ts","webpack:///./jslib/src/abstractions/messaging.service.ts","webpack:///./jslib/src/models/domain/importResult.ts","webpack:///./jslib/src/importers/baseImporter.ts","webpack:///./jslib/src/abstractions/token.service.ts","webpack:///./src/app/components/callout.component.ts","webpack:///./src/app/components/callout.component.html","webpack:///./jslib/src/abstractions/collection.service.ts","webpack:///./jslib/src/angular/directives/input-verbatim.directive.ts","webpack:///./jslib/src/misc/utils.ts","webpack:///./jslib/src/abstractions/folder.service.ts","webpack:///./jslib/src/enums/cipherType.ts","webpack:///./jslib/src/angular/directives/stop-click.directive.ts","webpack:///./jslib/src/abstractions/state.service.ts","webpack:///./jslib/src/abstractions/sync.service.ts","webpack:///./jslib/src/models/request/passwordVerificationRequest.ts","webpack:///./jslib/src/enums/twoFactorProviderType.ts","webpack:///./jslib/src/angular/directives/autofocus.directive.ts","webpack:///./jslib/src/models/view/secureNoteView.ts","webpack:///./jslib/src/angular/directives/stop-prop.directive.ts","webpack:///./src/app/modal.component.ts","webpack:///./jslib/src/abstractions/passwordGeneration.service.ts","webpack:///./jslib/src/abstractions/auth.service.ts","webpack:///./jslib/src/models/domain/domain.ts","webpack:///./jslib/src/enums/secureNoteType.ts","webpack:///./jslib/src/services/constants.service.ts","webpack:///./jslib/src/models/data/cipherData.ts","webpack:///./jslib/src/models/view/cardView.ts","webpack:///./src/app/components/avatar.component.ts","webpack:///./jslib/src/abstractions/storage.service.ts","webpack:///./src/app/settings/two-factor-verify.component.ts","webpack:///./jslib/src/models/data/collectionData.ts","webpack:///./src/app/settings/payment.component.ts","webpack:///./jslib/src/models/view/folderView.ts","webpack:///./jslib/src/abstractions/audit.service.ts","webpack:///./src/app/components/avatar.component.ts.AvatarComponent.html","webpack:///./jslib/src/abstractions/environment.service.ts","webpack:///./src/app/settings/two-factor-verify.component.html","webpack:///./jslib/src/models/domain/cipher.ts","webpack:///./jslib/src/models/domain/collection.ts","webpack:///./jslib/src/models/view/loginView.ts","webpack:///./jslib/src/models/view/cipherView.ts","webpack:///./jslib/src/models/request/cipherRequest.ts","webpack:///./jslib/src/enums/deviceType.ts","webpack:///./jslib/src/angular/services/broadcaster.service.ts","webpack:///./jslib/src/enums/organizationUserType.ts","webpack:///./src/app/services/event.service.ts","webpack:///./jslib/src/abstractions/export.service.ts","webpack:///./jslib/src/models/view/collectionView.ts","webpack:///./src/app/settings/two-factor-base.component.ts","webpack:///./jslib/src/models/view/fieldView.ts","webpack:///./jslib/src/abstractions/totp.service.ts","webpack:///./src/app/settings/organizations.component.ts","webpack:///./src/app/services/router.service.ts","webpack:///./jslib/src/models/domain/cipherString.ts","webpack:///./src/app/tools/export.component.ts","webpack:///./src/app/tools/import.component.ts","webpack:///./src/app/settings/two-factor-setup.component.ts","webpack:///./jslib/src/models/view/loginUriView.ts","webpack:///./jslib/src/models/view/identityView.ts","webpack:///./src/app/vault/ciphers.component.ts","webpack:///./jslib/src/enums/fieldType.ts","webpack:///./jslib/src/enums/encryptionType.ts","webpack:///./src/app/vault/groupings.component.ts","webpack:///./jslib/src/services/auth.service.ts","webpack:///./jslib/src/models/response/selectionReadOnlyResponse.ts","webpack:///./src/app/organizations/settings/organization-billing.component.ts","webpack:///./src/app/organizations/settings/two-factor-setup.component.ts","webpack:///./src/app/organizations/settings/account.component.ts","webpack:///./src/app/organizations/settings/settings.component.ts","webpack:///./src/app/organizations/manage/people.component.ts","webpack:///./src/app/organizations/manage/groups.component.ts","webpack:///./src/app/organizations/manage/events.component.ts","webpack:///./jslib/src/enums/organizationUserStatusType.ts","webpack:///./src/app/organizations/manage/entity-users.component.ts","webpack:///./jslib/src/models/request/selectionReadOnlyRequest.ts","webpack:///./src/app/organizations/manage/collections.component.ts","webpack:///./jslib/src/angular/pipes/search.pipe.ts","webpack:///./src/app/organizations/manage/manage.component.ts","webpack:///./src/app/organizations/tools/export.component.ts","webpack:///./src/app/organizations/tools/import.component.ts","webpack:///./src/app/organizations/tools/tools.component.ts","webpack:///./src/app/organizations/manage/entity-events.component.ts","webpack:///./src/app/organizations/vault/vault.component.ts","webpack:///./src/app/organizations/vault/ciphers.component.ts","webpack:///./src/app/organizations/vault/groupings.component.ts","webpack:///./src/app/layouts/organization-layout.component.ts","webpack:///./src/app/tools/breach-report.component.ts","webpack:///./src/app/tools/password-generator.component.ts","webpack:///./src/app/tools/tools.component.ts","webpack:///./src/app/settings/create-organization.component.ts","webpack:///./src/app/settings/user-billing.component.ts","webpack:///./jslib/src/enums/paymentMethodType.ts","webpack:///./src/app/settings/adjust-payment.component.ts","webpack:///./src/app/settings/adjust-storage.component.ts","webpack:///./src/app/settings/update-license.component.ts","webpack:///./src/app/settings/premium.component.ts","webpack:///./src/app/settings/payment.component.html","webpack:///./src/app/settings/two-factor-duo.component.ts","webpack:///./src/app/settings/domain-rules.component.ts","webpack:///./src/app/settings/options.component.ts","webpack:///./src/app/settings/account.component.ts","webpack:///./src/app/settings/settings.component.ts","webpack:///./src/app/vault/collections.component.ts","webpack:///./src/app/vault/attachments.component.ts","webpack:///./src/app/vault/add-edit.component.ts","webpack:///./jslib/src/models/request/folderRequest.ts","webpack:///./src/app/vault/vault.component.ts","webpack:///./jslib/src/enums/uriMatchType.ts","webpack:///./jslib/src/angular/components/icon.component.ts","webpack:///./src/app/layouts/user-layout.component.ts","webpack:///./src/app/layouts/footer.component.ts","webpack:///./src/app/layouts/navbar.component.ts","webpack:///./src/app/accounts/verify-recover-delete.component.ts","webpack:///./src/app/accounts/recover-delete.component.ts","webpack:///./src/app/accounts/recover-two-factor.component.ts","webpack:///./src/app/accounts/accept-organization.component.ts","webpack:///./src/app/accounts/verify-email-token.component.ts","webpack:///./src/app/accounts/lock.component.ts","webpack:///./src/app/accounts/hint.component.ts","webpack:///./src/app/accounts/register.component.ts","webpack:///./jslib/src/misc/duo.js","webpack:///./src/app/accounts/two-factor.component.ts","webpack:///./src/app/accounts/login.component.ts","webpack:///./src/app/layouts/frontend-layout.component.ts","webpack:///./jslib/src/abstractions/settings.service.ts","webpack:///./jslib/src/abstractions/lock.service.ts","webpack:///./src/app/services/unauth-guard.service.ts","webpack:///./src/app/services/organization-type-guard.service.ts","webpack:///./src/app/services/organization-guard.service.ts","webpack:///./jslib/src/angular/services/auth-guard.service.ts","webpack:///./jslib/src/services/user.service.ts","webpack:///./jslib/src/services/totp.service.ts","webpack:///./jslib/src/services/token.service.ts","webpack:///./jslib/src/services/sync.service.ts","webpack:///./jslib/src/services/state.service.ts","webpack:///./jslib/src/services/settings.service.ts","webpack:///./jslib/src/services/passwordGeneration.service.ts","webpack:///./jslib/src/services/lock.service.ts","webpack:///./jslib/src/services/i18n.service.ts","webpack:///./jslib/src/models/data/folderData.ts","webpack:///./jslib/src/services/folder.service.ts","webpack:///./jslib/src/services/environment.service.ts","webpack:///./jslib/src/services/crypto.service.ts","webpack:///./jslib/src/services/container.service.ts","webpack:///./jslib/src/services/collection.service.ts","webpack:///./jslib/src/services/cipher.service.ts","webpack:///./jslib/src/services/audit.service.ts","webpack:///./jslib/src/services/appId.service.ts","webpack:///./jslib/src/models/response/profileResponse.ts","webpack:///./jslib/src/models/response/organizationResponse.ts","webpack:///./jslib/src/models/response/folderResponse.ts","webpack:///./jslib/src/models/response/domainsResponse.ts","webpack:///./jslib/src/models/response/collectionResponse.ts","webpack:///./jslib/src/models/response/cipherResponse.ts","webpack:///./jslib/src/models/response/billingResponse.ts","webpack:///./jslib/src/services/api.service.ts","webpack:///./jslib/src/angular/directives/true-false-value.directive.ts","webpack:///./jslib/src/angular/directives/box-row.directive.ts","webpack:///./src/app/organizations/settings/adjust-seats.component.ts","webpack:///./src/app/organizations/settings/delete-organization.component.ts","webpack:///./src/app/organizations/manage/user-groups.component.ts","webpack:///./src/app/organizations/manage/user-add-edit.component.ts","webpack:///./src/app/organizations/manage/group-add-edit.component.ts","webpack:///./src/app/organizations/manage/collection-add-edit.component.ts","webpack:///./jslib/src/models/request/collectionRequest.ts","webpack:///./jslib/src/models/request/cipherCollectionsRequest.ts","webpack:///./src/app/organizations/vault/collections.component.ts","webpack:///./src/app/organizations/vault/attachments.component.ts","webpack:///./src/app/organizations/vault/add-edit.component.ts","webpack:///./jslib/src/models/domain/secureNote.ts","webpack:///./jslib/src/models/domain/loginUri.ts","webpack:///./jslib/src/models/domain/login.ts","webpack:///./jslib/src/models/domain/identity.ts","webpack:///./jslib/src/models/domain/field.ts","webpack:///./jslib/src/models/domain/card.ts","webpack:///./jslib/src/models/domain/attachment.ts","webpack:///./jslib/src/models/data/secureNoteData.ts","webpack:///./jslib/src/models/data/loginUriData.ts","webpack:///./jslib/src/models/data/loginData.ts","webpack:///./jslib/src/models/data/identityData.ts","webpack:///./jslib/src/models/data/fieldData.ts","webpack:///./jslib/src/models/data/cardData.ts","webpack:///./jslib/src/models/data/attachmentData.ts","webpack:///./src/app/tools/password-generator-history.component.ts","webpack:///./jslib/src/models/view/attachmentView.ts","webpack:///./jslib/src/models/request/kvpRequest.ts","webpack:///./jslib/src/enums/planType.ts","webpack:///./src/app/settings/adjust-payment.component.html","webpack:///./src/app/settings/adjust-storage.component.html","webpack:///./src/app/settings/update-license.component.html","webpack:///./src/app/settings/two-factor-yubikey.component.ts","webpack:///./src/app/settings/two-factor-u2f.component.ts","webpack:///./src/app/settings/two-factor-recovery.component.ts","webpack:///./src/app/settings/two-factor-email.component.ts","webpack:///./src/app/settings/two-factor-authenticator.component.ts","webpack:///./src/app/settings/purge-vault.component.ts","webpack:///./src/app/settings/delete-account.component.ts","webpack:///./src/app/settings/deauthorize-sessions.component.ts","webpack:///./src/app/settings/change-password.component.ts","webpack:///./jslib/src/models/request/emailTokenRequest.ts","webpack:///./src/app/settings/change-email.component.ts","webpack:///./src/app/settings/profile.component.ts","webpack:///./src/app/vault/share.component.ts","webpack:///./src/app/vault/folder-add-edit.component.ts","webpack:///./src/app/vault/bulk-share.component.ts","webpack:///./src/app/vault/bulk-move.component.ts","webpack:///./src/app/vault/bulk-delete.component.ts","webpack:///./jslib/src/models/request/cipherWithIdRequest.ts","webpack:///./src/app/settings/update-key.component.ts","webpack:///./src/app/settings/organizations.component.html","webpack:///./jslib/src/angular/pipes/search-ciphers.pipe.ts","webpack:///./jslib/src/angular/components/icon.component.html","webpack:///./src/app/settings/verify-email.component.ts","webpack:///./src/app/layouts/footer.component.html","webpack:///./src/app/layouts/navbar.component.html","webpack:///./jslib/src/models/request/keysRequest.ts","webpack:///./jslib/src/models/request/twoFactorEmailRequest.ts","webpack:///./src/app/accounts/two-factor-options.component.ts","webpack:///./src/app/app.component.ts","webpack:///./src lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./jslib/src/models/domain/decryptParameters.ts","webpack:///./jslib/src/services/webCryptoFunction.service.ts","webpack:///./jslib/src/services/export.service.ts","webpack:///./jslib/src/misc/analytics.ts","webpack:///./src/services/webPlatformUtils.service.ts","webpack:///./src/services/memoryStorage.service.ts","webpack:///./src/services/i18n.service.ts","webpack:///./jslib/src/models/domain/organization.ts","webpack:///./jslib/src/models/data/organizationData.ts","webpack:///./jslib/src/models/domain/passwordHistory.ts","webpack:///./jslib/src/models/domain/folder.ts","webpack:///./jslib/src/models/domain/environmentUrls.ts","webpack:///./jslib/src/misc/sequentialize.ts","webpack:///./jslib/src/models/domain/symmetricCryptoKey.ts","webpack:///./jslib/src/models/domain/encryptedObject.ts","webpack:///./jslib/src/models/request/cipherShareRequest.ts","webpack:///./jslib/src/models/request/cipherBulkShareRequest.ts","webpack:///./jslib/src/models/request/cipherBulkMoveRequest.ts","webpack:///./jslib/src/models/request/cipherBulkDeleteRequest.ts","webpack:///./jslib/src/models/response/breachAccountResponse.ts","webpack:///./jslib/src/models/response/userKeyResponse.ts","webpack:///./jslib/src/models/response/twoFactorYubiKeyResponse.ts","webpack:///./jslib/src/models/response/twoFactorU2fResponse.ts","webpack:///./jslib/src/models/response/twoFactorRescoverResponse.ts","webpack:///./jslib/src/models/response/twoFactorProviderResponse.ts","webpack:///./jslib/src/models/response/twoFactorEmailResponse.ts","webpack:///./jslib/src/models/response/twoFactorDuoResponse.ts","webpack:///./jslib/src/models/response/twoFactorAuthenticatorResponse.ts","webpack:///./jslib/src/models/response/syncResponse.ts","webpack:///./jslib/src/models/response/profileOrganizationResponse.ts","webpack:///./jslib/src/models/response/organizationUserResponse.ts","webpack:///./jslib/src/models/response/organizationBillingResponse.ts","webpack:///./jslib/src/models/response/listResponse.ts","webpack:///./jslib/src/models/response/identityTwoFactorResponse.ts","webpack:///./jslib/src/models/response/identityTokenResponse.ts","webpack:///./jslib/src/models/response/groupUserResponse.ts","webpack:///./jslib/src/models/response/groupResponse.ts","webpack:///./jslib/src/models/response/eventResponse.ts","webpack:///./jslib/src/models/response/errorResponse.ts","webpack:///./jslib/src/models/response/globalDomainResponse.ts","webpack:///./jslib/src/models/response/collectionUserResponse.ts","webpack:///./jslib/src/models/api/secureNoteApi.ts","webpack:///./jslib/src/models/api/loginUriApi.ts","webpack:///./jslib/src/models/api/loginApi.ts","webpack:///./jslib/src/models/api/identityApi.ts","webpack:///./jslib/src/models/api/fieldApi.ts","webpack:///./jslib/src/models/api/cardApi.ts","webpack:///./jslib/src/models/response/attachmentResponse.ts","webpack:///./jslib/src/services/index.ts","webpack:///./src/services/htmlStorage.service.ts","webpack:///./src/services/broadcasterMessaging.service.ts","webpack:///./src/app/services/services.module.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/settings/update-key.component.html","webpack:///./src/app/settings/two-factor-yubikey.component.html","webpack:///./src/app/settings/two-factor-u2f.component.html","webpack:///./src/app/settings/two-factor-recovery.component.html","webpack:///./src/app/accounts/two-factor-options.component.html","webpack:///./src/app/settings/two-factor-email.component.html","webpack:///./src/app/settings/two-factor-duo.component.html","webpack:///./src/app/settings/two-factor-authenticator.component.html","webpack:///./src/app/vault/share.component.html","webpack:///./src/app/settings/purge-vault.component.html","webpack:///./src/app/tools/password-generator-history.component.html","webpack:///./src/app/organizations/manage/user-groups.component.html","webpack:///./src/app/organizations/manage/user-add-edit.component.html","webpack:///./src/app/organizations/manage/group-add-edit.component.html","webpack:///./src/app/organizations/manage/entity-users.component.html","webpack:///./src/app/organizations/manage/entity-events.component.html","webpack:///./src/app/vault/collections.component.html","webpack:///./src/app/organizations/manage/collection-add-edit.component.html","webpack:///./src/app/vault/attachments.component.html","webpack:///./src/app/vault/add-edit.component.html","webpack:///./src/app/modal.component.ts.ModalComponent.html","webpack:///./src/app/vault/folder-add-edit.component.html","webpack:///./src/app/organizations/settings/delete-organization.component.html","webpack:///./src/app/settings/delete-account.component.html","webpack:///./src/app/settings/deauthorize-sessions.component.html","webpack:///./src/app/vault/bulk-share.component.html","webpack:///./src/app/vault/bulk-move.component.html","webpack:///./src/app/vault/bulk-delete.component.html","webpack:///./jslib/src/models/request/verifyBankRequest.ts","webpack:///./jslib/src/models/request/seatRequest.ts","webpack:///./src/app/organizations/settings/adjust-seats.component.html","webpack:///./src/app/organizations/settings/organization-billing.component.html","webpack:///./src/app/settings/two-factor-setup.component.html","webpack:///./jslib/src/models/request/organizationUpdateRequest.ts","webpack:///./src/app/organizations/settings/account.component.html","webpack:///./src/app/organizations/settings/settings.component.html","webpack:///./jslib/src/models/request/organizationUserUpdateGroupsRequest.ts","webpack:///./jslib/src/models/request/organizationUserUpdateRequest.ts","webpack:///./jslib/src/models/request/organizationUserInviteRequest.ts","webpack:///./jslib/src/models/request/organizationUserConfirmRequest.ts","webpack:///./src/app/organizations/manage/people.component.html","webpack:///./jslib/src/models/request/groupRequest.ts","webpack:///./src/app/organizations/manage/groups.component.html","webpack:///./src/app/organizations/manage/events.component.html","webpack:///./src/app/organizations/manage/collections.component.html","webpack:///./src/app/organizations/manage/manage.component.html","webpack:///./src/app/tools/export.component.html","webpack:///./jslib/src/models/request/importOrganizationCiphersRequest.ts","webpack:///./src/app/tools/import.component.html","webpack:///./src/app/organizations/tools/tools.component.html","webpack:///./jslib/src/enums/eventType.ts","webpack:///./src/app/vault/ciphers.component.html","webpack:///./src/app/vault/groupings.component.html","webpack:///./src/app/organizations/vault/vault.component.html","webpack:///./src/app/layouts/organization-layout.component.html","webpack:///./src/app/tools/breach-report.component.html","webpack:///./jslib/src/angular/components/password-generator-history.component.ts","webpack:///./jslib/src/angular/components/password-generator.component.ts","webpack:///./src/app/tools/password-generator.component.html","webpack:///./jslib/src/angular/components/export.component.ts","webpack:///./jslib/src/importers/zohoVaultCsvImporter.ts","webpack:///./jslib/src/importers/upmCsvImporter.ts","webpack:///./jslib/src/importers/truekeyCsvImporter.ts","webpack:///./jslib/src/importers/stickyPasswordXmlImporter.ts","webpack:///./jslib/src/importers/splashIdCsvImporter.ts","webpack:///./jslib/src/importers/saferpassCsvImport.ts","webpack:///./jslib/src/importers/safeInCloudXmlImporter.ts","webpack:///./jslib/src/importers/roboformCsvImporter.ts","webpack:///./jslib/src/importers/passwordSafeXmlImporter.ts","webpack:///./jslib/src/importers/passwordDragonXmlImporter.ts","webpack:///./jslib/src/importers/passwordBossJsonImporter.ts","webpack:///./jslib/src/importers/passwordAgentCsvImporter.ts","webpack:///./jslib/src/importers/passkeepCsvImporter.ts","webpack:///./jslib/src/importers/padlockCsvImporter.ts","webpack:///./jslib/src/models/view/view.ts","webpack:///./jslib/src/models/view/index.ts","webpack:///./jslib/src/importers/onepasswordWinCsvImporter.ts","webpack:///./jslib/src/importers/onepassword1PifImporter.ts","webpack:///./jslib/src/importers/msecureCsvImporter.ts","webpack:///./jslib/src/importers/meldiumCsvImporter.ts","webpack:///./jslib/src/importers/lastpassCsvImporter.ts","webpack:///./jslib/src/importers/keeperCsvImporter.ts","webpack:///./jslib/src/importers/keepassxCsvImporter.ts","webpack:///./jslib/src/importers/keepass2XmlImporter.ts","webpack:///./jslib/src/importers/gnomeJsonImporter.ts","webpack:///./jslib/src/importers/firefoxCsvImporter.ts","webpack:///./jslib/src/importers/enpassCsvImporter.ts","webpack:///./jslib/src/importers/dashlaneCsvImporter.ts","webpack:///./jslib/src/importers/clipperzHtmlImporter.ts","webpack:///./jslib/src/importers/chromeCsvImporter.ts","webpack:///./jslib/src/importers/blurCsvImporter.ts","webpack:///./jslib/src/importers/bitwardenCsvImporter.ts","webpack:///./jslib/src/importers/aviraCsvImporter.ts","webpack:///./jslib/src/importers/ascendoCsvImporter.ts","webpack:///./jslib/src/models/request/importCiphersRequest.ts","webpack:///./src/app/tools/tools.component.html","webpack:///./jslib/src/models/request/organizationCreateRequest.ts","webpack:///./src/app/settings/create-organization.component.html","webpack:///./jslib/src/models/request/paymentRequest.ts","webpack:///./jslib/src/models/request/storageRequest.ts","webpack:///./src/app/settings/user-billing.component.html","webpack:///./src/app/settings/premium.component.html","webpack:///./jslib/src/models/request/updateTwoFactorYubioOtpRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorU2fRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorEmailRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorDuoRequest.ts","webpack:///./jslib/src/models/request/twoFactorProviderRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorAuthenticatorRequest.ts","webpack:///./jslib/src/models/request/updateDomainsRequest.ts","webpack:///./src/app/settings/domain-rules.component.html","webpack:///./src/app/settings/options.component.html","webpack:///./jslib/src/models/request/passwordRequest.ts","webpack:///./src/app/settings/change-password.component.html","webpack:///./jslib/src/models/request/emailRequest.ts","webpack:///./src/app/settings/change-email.component.html","webpack:///./jslib/src/models/request/updateProfileRequest.ts","webpack:///./src/app/settings/profile.component.html","webpack:///./src/app/settings/account.component.html","webpack:///./src/app/settings/settings.component.html","webpack:///./jslib/src/angular/components/folder-add-edit.component.ts","webpack:///./jslib/src/angular/components/attachments.component.ts","webpack:///./jslib/src/angular/components/add-edit.component.ts","webpack:///./jslib/src/models/request/updateKeyRequest.ts","webpack:///./jslib/src/models/request/folderWithIdRequest.ts","webpack:///./jslib/src/angular/components/ciphers.component.ts","webpack:///./jslib/src/enums/logLevelType.ts","webpack:///./jslib/src/enums/index.ts","webpack:///./jslib/src/angular/directives/fallback-src.directive.ts","webpack:///./jslib/src/angular/components/groupings.component.ts","webpack:///./src/app/settings/verify-email.component.html","webpack:///./src/app/vault/vault.component.html","webpack:///./src/app/layouts/user-layout.component.html","webpack:///./jslib/src/models/request/verifyDeleteRecoverRequest.ts","webpack:///./src/app/accounts/verify-recover-delete.component.html","webpack:///./jslib/src/models/request/deleteRecoverRequest.ts","webpack:///./src/app/accounts/recover-delete.component.html","webpack:///./jslib/src/models/request/twoFactorRecoveryRequest.ts","webpack:///./src/app/accounts/recover-two-factor.component.html","webpack:///./jslib/src/models/request/organizationUserAcceptRequest.ts","webpack:///./src/app/accounts/accept-organization.component.html","webpack:///./jslib/src/models/request/verifyEmailRequest.ts","webpack:///./src/app/accounts/verify-email-token.component.html","webpack:///./jslib/src/angular/components/lock.component.ts","webpack:///./src/app/accounts/lock.component.html","webpack:///./jslib/src/models/request/passwordHintRequest.ts","webpack:///./jslib/src/angular/components/hint.component.ts","webpack:///./src/app/accounts/hint.component.html","webpack:///./jslib/src/models/request/registerRequest.ts","webpack:///./jslib/src/angular/components/register.component.ts","webpack:///./src/app/accounts/register.component.html","webpack:///./jslib/src/misc/u2f.ts","webpack:///./jslib/src/models/request/tokenRequest.ts","webpack:///./jslib/src/models/request/deviceRequest.ts","webpack:///./jslib/src/models/domain/authResult.ts","webpack:///./jslib/src/angular/components/two-factor.component.ts","webpack:///./jslib/src/angular/components/modal.component.ts","webpack:///./jslib/src/angular/components/two-factor-options.component.ts","webpack:///./src/app/accounts/two-factor.component.html","webpack:///./jslib/src/angular/components/login.component.ts","webpack:///./src/app/accounts/login.component.html","webpack:///./src/app/layouts/frontend-layout.component.html","webpack:///./src/app/app.module.ts","webpack:///./src/app/main.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","3","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","I18nService","ApiService","I18nPipe","i18nService","this","transform","id","p1","p2","p3","PlatformUtilsService","ValidationService","toasterService","showError","defaultErrorMessage","errors","validationErrors","message","forEach","item","popAsync","ApiActionDirective","el","validationService","ngOnChanges","changes","_this","appApiAction","then","nativeElement","loading","response","e","CryptoService","UserService","CipherService","MessagingService","ImportResult","success","ciphers","folders","folderRelationships","collections","collectionRelationships","papa","cipherView_1","collectionView_1","loginUriView_1","utils_1","fieldView_1","folderView_1","loginView_1","secureNoteView_1","cipherType_1","fieldType_1","secureNoteType_1","BaseImporter","organization","newLineRegex","passwordFieldNames","usernameFieldNames","notesFieldNames","uriFieldNames","parseXml","doc","DOMParser","parseFromString","querySelector","parseCsv","header","splitNewLine","join","trim","parse","encoding","skipEmptyLines","console","warn","row","parseSingleRowCsv","rowData","isNullOrWhitespace","parsedRow","makeUriArray","uri","loginUri","LoginUriView","fixUri","match","returnArr_1","u","toLowerCase","indexOf","substring","nameFromUrl","url","hostname","Utils","getHostname","startsWith","replace","str","getValueOrDefault","defaultValue","split","getCardBrand","cardNum","re","RegExp","test","moveFoldersToCollections","map","f","collection","CollectionView","querySelectorDirectChild","parentEl","query","els","querySelectorAllDirectChild","Array","from","querySelectorAll","filter","parentNode","initLoginCipher","cipher","CipherView","favorite","notes","fields","login","LoginView","type","CipherType","Login","cleanupCipher","processKvp","search","field","FieldView","FieldType","Text","processFolder","folderName","folderIndex","hasFolder","addFolder","FolderView","convertToNoteIfNeeded","username","password","uris","SecureNote","secureNote","SecureNoteView","SecureNoteType","Generic","TokenService","CalloutComponent","ngOnInit","calloutStyle","undefined","title","icon","_l","i0","ɵeld","_ck","_v","_co","component","ɵinlineInterpolate","ɵted","ɵand","View_CalloutComponent_2","ɵdid","i1","NgIf","ViewContainerRef","TemplateRef","ngIf","View_CalloutComponent_1","ɵncd","CollectionService","InputVerbatimDirective","renderer","condition","disableComplete","hasAttribute","setAttribute","nodeURL","URL","init","inited","isNode","process","release","isBrowser","global","fromB64ToArray","Uint8Array","Buffer","binaryString","atob","bytes","charCodeAt","fromHexToArray","parseInt","substr","fromUtf8ToArray","strUtf8","unescape","encodeURIComponent","arr","fromByteStringToArray","fromBufferToB64","buffer","toString","binary","byteLength","String","fromCharCode","btoa","fromBufferToUtf8","encodedString","decodeURIComponent","escape","fromBufferToByteString","fromBufferToHex","x","fromUrlB64ToUtf8","b64Str","output","Error","fromB64ToUtf8","newGuid","Math","random","uriString","getUrl","getHost","host","getSortFunction","prop","a","b","collator","compare","localeCompare","anchor","document","createElement","href","FolderService","StopClickDirective","onClick","$event","preventDefault","StateService","SyncService","PasswordVerificationRequest","TwoFactorProviderType","AutofocusDirective","autofocus","focus","StopPropDirective","stopPropagation","jq","ModalComponent","_super","componentFactoryResolver","__extends","ngOnDestroy","show","parentContainer","fade","factory","resolveComponentFactory","componentRef","container","createComponent","modals","modal","on","onShow","emit","onShown","find","onClose","onClosed","clear","instance","close","PasswordGenerationService","AuthService","cipherString_1","Domain","buildDomainModel","domain","dataObj","alreadyEncrypted","notEncList","objProp","CipherString","buildDataModel","notCipherStringList","encryptedString","decryptObj","viewModel","orgId","promises","self","theProp","Promise","resolve","mapProp","decrypt","val","all","_a","sent","ConstantsService","environmentUrlsKey","disableGaKey","disableAddLoginNotificationKey","disableContextMenuItemKey","disableFaviconKey","disableAutoTotpCopyKey","enableAutoFillOnPageLoadKey","lockOptionKey","lastActiveKey","neverDomainsKey","installedVersionKey","localeKey","themeKey","attachmentData_1","cardData_1","fieldData_1","identityData_1","loginData_1","secureNoteData_1","CipherData","userId","collectionIds","organizationId","folderId","edit","organizationUseTotp","revisionDate","LoginData","SecureNoteData","Card","card","CardData","Identity","identity","IdentityData","FieldData","attachments","attachment","AttachmentData","CardView","expMonth","_brand","code","repeat","_subTitle","_number","brand","number","expYear","exp","formatYear","year","AvatarComponent","sanitizer","width","height","charCount","textColor","fontSize","fontWeight","dynamic","circle","generate","chars","upperData","toUpperCase","getFirstLetters","charObj","getCharText","color","stringToColor","svg","getSvg","appendChild","html","outerHTML","svgHtml","src","hash","count","parts","text","svgTag","style","backgroundColor","character","textTag","textContent","StorageService","core_1","twoFactorProviderType_1","passwordVerificationRequest_1","TwoFactorVerifyComponent","apiService","cryptoService","onAuthed","EventEmitter","submit","masterPassword","request","_b","hashPassword","masterPasswordHash","_d","formPromise","getTwoFactorRecover","Duo","OrganizationDuo","getTwoFactorOrganizationDuo","getTwoFactorDuo","Email","getTwoFactorEmail","U2f","getTwoFactorU2f","Authenticator","getTwoFactorAuthenticator","Yubikey","getTwoFactorYubiKey","CollectionData","readOnly","Keys","stripeTest","stripeLive","btSandbox","btProduction","PaymentComponent","platformUtilsService","showOptions","method","hideBank","hidePaypal","exp_month","exp_year","address_country","address_zip","bank","routing_number","account_number","account_holder_name","account_holder_type","currency","country","btInstance","stripeScript","async","onload","Stripe","setPublishableKey","isDev","btScript","cardExpMonthOptions","cardExpYearOptions","Date","getFullYear","head","removeChild","body","btStylesheet","changeMethod","setTimeout","braintree","dropin","authorization","paymentOptionPriority","paypal","flow","buttonStyle","label","size","shape","createErr","error","createPaymentToken","reject","requestPaymentMethod","payload","nonce","catch","err","createObj","bankAccount","sourceObj","createToken","status","getCountry","AuditService","NgClass","IterableDiffers","KeyValueDiffers","ElementRef","Renderer2","ngClass","ɵpod","rounded-circle","bypassSecurityTrustResourceUrl","EnvironmentService","en","ad","i3","NgForm","ngSubmit","ɵprd","ControlContainer","NgControlStatusGroup","i4","i5","ɵppd","DefaultValueAccessor","COMPOSITION_BUFFER_MODE","RequiredValidator","required","NG_VALIDATORS","p0_0","NG_VALUE_ACCESSOR","NgModel","model","update","NgControl","NgControlStatus","i6","appInputVerbatim","ɵnov","ngClassUntouched","ngClassTouched","ngClassPristine","ngClassDirty","ngClassValid","ngClassInvalid","ngClassPending","ɵunv","cipherData_1","attachment_1","card_1","domain_1","field_1","identity_1","login_1","secureNote_1","Cipher","obj","localData","Attachment","Field","_f","_c","_e","attachments_1","reduce","promise","decAttachment","fields_1","decField","toCipherData","toLoginData","toSecureNoteData","toCardData","toIdentityData","toFieldData","toAttachmentData","default","Collection","hasUris","canLaunch","subTitle","CipherRequest","totp","cardholderName","firstName","middleName","lastName","address1","address2","address3","city","state","postalCode","company","email","phone","ssn","passportNumber","licenseNumber","fileName","DeviceType","BroadcasterService","subscribers","Map","send","has","subscribe","messageCallback","set","unsubscribe","delete","OrganizationUserType","deviceType_1","eventType_1","EventService","getDefaultDateFilters","end","getMonth","getDate","setDate","start","toDateTimeLocalString","formatDateFilters","filterStart","filterEnd","isNaN","getTime","toISOString","getEventInfo","ev","options","EventOptions","appInfo","getAppInfo","deviceType","getEventMessage","appIcon","appName","msg","EventType","User_LoggedIn","User_ChangedPassword","User_Enabled2fa","User_Disabled2fa","User_Recovered2fa","User_FailedLogIn","User_FailedLogIn2fa","Cipher_Created","formatCipherId","Cipher_Updated","Cipher_Deleted","Cipher_AttachmentCreated","Cipher_AttachmentDeleted","Cipher_Shared","Cipher_UpdatedCollections","Collection_Created","formatCollectionId","Collection_Updated","Collection_Deleted","Group_Created","formatGroupId","Group_Updated","Group_Deleted","OrganizationUser_Invited","formatOrgUserId","OrganizationUser_Confirmed","OrganizationUser_Updated","OrganizationUser_Removed","OrganizationUser_UpdatedGroups","Organization_Updated","Android","iOS","UWP","ChromeExtension","FirefoxExtension","OperaExtension","EdgeExtension","VivaldiExtension","SafariExtension","WindowsDesktop","MacOsDesktop","LinuxDesktop","ChromeBrowser","FirefoxBrowser","OperaBrowser","SafariBrowser","VivaldiBrowser","EdgeBrowser","IEBrowser","UnknownBrowser","shortId","getShortId","cipherId","cipherInfo","makeAnchor","groupId","collectionId","organizationUserId","innerHTML","date","pad","getHours","getMinutes","num","norm","floor","abs","EventInfo","ExportService","twoFactorProviderRequest_1","TwoFactorBaseComponent","analytics","onUpdated","twoFactorProviderType","enabled","authed","auth","authResponse","enable","enableFunction","eventTrack","next","action","disable","showDialog","TwoFactorProviderRequest","putTwoFactorOrganizationDisable","putTwoFactorDisable","TotpService","OrganizationsComponent","userService","syncService","vault","loaded","load","getAllOrganizations","orgs","sort","organizations","leave","org","actionPromise","postLeaveOrganization","fullSync","router_1","RouterService","router","activatedRoute","titleService","previousUrl","currentUrl","events","event","NavigationEnd","titleId","rawTitle","child","firstChild","snapshot","newTitle","setTitle","getPreviousUrl","encryptionType_1","encryptedStringOrType","iv","mac","encType","encryptionType","headerPieces","encPieces","EncryptionType","AesCbc128_HmacSha256_B64","AesCbc256_B64","AesCbc256_HmacSha256_B64","Rsa2048_OaepSha256_B64","Rsa2048_OaepSha1_B64","decryptedValue","containerService","bitwardenContainerService","getCryptoService","getOrgKey","orgKey","decryptToUtf8","ExportComponent","exportService","saved","cipherRequest_1","folderRequest_1","importCiphersRequest_1","kvpRequest_1","ascendoCsvImporter_1","aviraCsvImporter_1","bitwardenCsvImporter_1","blurCsvImporter_1","chromeCsvImporter_1","clipperzHtmlImporter_1","dashlaneCsvImporter_1","enpassCsvImporter_1","firefoxCsvImporter_1","gnomeJsonImporter_1","keepass2XmlImporter_1","keepassxCsvImporter_1","keeperCsvImporter_1","lastpassCsvImporter_1","meldiumCsvImporter_1","msecureCsvImporter_1","onepassword1PifImporter_1","onepasswordWinCsvImporter_1","padlockCsvImporter_1","passkeepCsvImporter_1","passwordAgentCsvImporter_1","passwordBossJsonImporter_1","passwordDragonXmlImporter_1","passwordSafeXmlImporter_1","roboformCsvImporter_1","safeInCloudXmlImporter_1","saferpassCsvImport_1","splashIdCsvImporter_1","stickyPasswordXmlImporter_1","truekeyCsvImporter_1","upmCsvImporter_1","zohoVaultCsvImporter_1","ImportComponent","cipherService","folderService","format","successNavigate","setImportOptions","importOptions","importer","getImporter","fileEl","getElementById","files","fileContents","getFileContents","content","importResult","halfway","last","badData","postImport","properties","navigate","getFormatInstructionTitle","results","featuredImportOptions","concat","ImportCiphersRequest","encrypt","FolderRequest","KvpRequest","postImportCiphers","BitwardenCsvImporter","LastPassCsvImporter","KeePassXCsvImporter","AviraCsvImporter","BlurCsvImporter","SafeInCloudXmlImporter","PadlockCsvImporter","KeePass2XmlImporter","ChromeCsvImporter","FirefoxCsvImporter","UpmCsvImporter","SaferPassCsvImporter","MeldiumCsvImporter","OnePassword1PifImporter","OnePasswordWinCsvImporter","KeeperCsvImporter","PasswordDragonXmlImporter","EnpassCsvImporter","PasswordSafeXmlImporter","DashlaneCsvImporter","MSecureCsvImporter","StickyPasswordXmlImporter","TrueKeyCsvImporter","ClipperzHtmlImporter","RoboFormCsvImporter","AscendoCsvImporter","PasswordBossJsonImporter","ZohoVaultCsvImporter","SplashIdCsvImporter","PassKeepCsvImporter","GnomeJsonImporter","PasswordAgentCsvImporter","errorMessage","file","reader","FileReader","readAsText","evt","pre","target","onerror","auth_service_1","modal_component_1","two_factor_authenticator_component_1","two_factor_duo_component_1","two_factor_email_component_1","two_factor_recovery_component_1","two_factor_u2f_component_1","two_factor_yubikey_component_1","TwoFactorSetupComponent","tokenService","messagingService","providers","premium","getPremium","TwoFactorProviders","filterProvider","description","getTwoFactorProviders","manage","openModal","authenticatorModalRef","TwoFactorAuthenticatorComponent","updateStatus","yubikeyModalRef","TwoFactorYubiKeyComponent","duoModalRef","TwoFactorDuoComponent","emailModalRef","TwoFactorEmailComponent","u2fModalRef","TwoFactorU2fComponent","recoveryCode","recoveryModalRef","TwoFactorRecoveryComponent","premiumRequired","ref","childComponent","_uri","_domain","getPlatformUtilsService","getDomain","_hostname","IdentityView","_firstName","_lastName","name_1","ciphers_component_1","CiphersComponent","showAddNew","onAttachmentsClicked","onShareClicked","onCollectionsClicked","cipherType","checkCipher","select","checked","selectAll","selectCount","getSelected","getSelectedIds","share","deleteWithServer","refresh","copy","typeI18nKey","aType","copyToClipboard","GroupingsComponent","collectionService","onSearchTextChanged","searchText","searchPlaceholder","searchTextChanged","authResult_1","deviceRequest_1","keysRequest_1","tokenRequest_1","priority","appIdService","setCryptoKeys","selectedTwoFactorProviderType","logIn","makeKey","hashedPassword","logInHelper","logInTwoFactor","twoFactorProvider","twoFactorToken","remember","logInComplete","logOut","callback","getSupportedTwoFactorProviders","win","twoFactorProviders","supportsDuo","supportsU2f","getDefaultTwoFactorProvider","u2fSupported","providerType","providerPriority","provider","getTwoFactorToken","storedTwoFactorToken","getAppId","appId","deviceRequest","DeviceRequest","TokenRequest","Remember","postIdentityToken","clearState","AuthResult","twoFactor","accessToken","twoFactorResponse","twoFactorProviders2","tokenResponse","setTwoFactorToken","setTokens","refreshToken","setUserIdAndEmail","getUserId","getEmail","setKey","setKeyHash","setEncKey","privateKey","makeKeyPair","keyPair","postAccountKeys","KeysRequest","e_1","setEncPrivateKey","SelectionReadOnlyResponse","Id","ReadOnly","verifyBankRequest_1","paymentMethodType_1","planType_1","OrganizationBillingComponent","route","firstLoaded","adjustSeatsAdd","showAdjustSeats","adjustStorageAdd","showAdjustStorage","showAdjustPayment","showUpdateLicense","paymentMethodType","PaymentMethodType","selfHosted","isSelfHost","parent","params","__awaiter","getOrganizationBilling","billing","reinstate","reinstatePromise","postOrganizationReinstate","cancel","cancelPromise","postOrganizationCancel","changePlan","launchUri","downloadLicense","installationId","prompt","licensePromise","getOrganizationLicense","license","licenseString","JSON","stringify","saveFile","updateLicense","verifyBank","VerifyBankRequest","amount1","verifyAmount1","amount2","verifyAmount2","verifyBankPromise","postOrganizationVerifyBank","closeUpdateLicense","adjustSeats","add","closeSeats","adjustStorage","closeStorage","changePayment","closePayment","viewInvoice","charge","getToken","token","apiBaseUrl","invoiceId","subscription","cancelled","cancelAtEndDate","upcomingInvoice","paymentSource","charges","maxStorageGb","storageGb","toFixed","storagePercentage","planType","PlanType","EnterpriseMonthly","TeamsMonthly","billingInterval","EnterpriseAnnually","TeamsAnnually","Free","duoComp","getTwoFactorOrganizationProviders","organizationUpdateRequest_1","delete_organization_component_1","AccountComponent","getOrganization","OrganizationUpdateRequest","businessName","billingEmail","putOrganization","deleteOrganization","deleteModalRef","DeleteOrganizationComponent","SettingsComponent","access2fa","use2fa","organizationUserConfirmRequest_1","organizationUserStatusType_1","organizationUserType_1","entity_events_component_1","user_add_edit_component_1","user_groups_component_1","PeopleComponent","statusMap","organizationUserType","organizationUserStatusType","OrganizationUserStatusType","accessEvents","accessGroups","useEvents","useGroups","queryParams","qParams","viewEvents","user","users","Confirmed","getOrganizationUsers","allUsers","Invited","Accepted","addEditModalRef","UserAddEditComponent","onSavedUser","onDeletedUser","removeUser","invite","groups","groupsModalRef","UserGroupsComponent","remove","deleteOrganizationUser","reinvite","postOrganizationUserReinvite","confirm","doConfirmation","eventsModalRef","EntityEventsComponent","entityId","showUser","entity","getUserPublicKey","publicKeyResponse","publicKey","rsaEncrypt","OrganizationUserConfirmRequest","postOrganizationUserConfirm","index","entity_users_component_1","group_add_edit_component_1","GroupsComponent","getGroups","group","GroupAddEditComponent","onSavedGroup","onDeletedGroup","removeGroup","deleteGroup","usersModalRef","EntityUsersComponent","entityName","EventsComponent","eventService","orgUsersUserIdMap","orgUsersIdMap","defaultDates","loadEvents","clearExisting","refreshPromise","morePromise","dates","getEventsOrganization","continuationToken","actingUserId","eventInfo","userName","userEmail","ip","ipAddress","onRemovedUser","loadUsers","getGroupUsers","getCollectionUsers","accessAll","deleteGroupUser","deleteCollectionUser","SelectionReadOnlyRequest","collectionData_1","collection_1","collection_add_edit_component_1","CollectionsComponent","getCollections","decryptMany","CollectionAddEditComponent","onSavedCollection","onDeletedCollection","removeCollection","deleteCollection","SearchPipe","items","prop1","prop2","prop3","ManageComponent","getExportData","getOrganizationExport","getFileName","collectionRequest_1","importOrganizationCiphersRequest_1","ImportOrganizationCiphersRequest","CollectionRequest","postImportOrganizationCiphers","ToolsComponent","getEventsOrganizationUser","getEventsCipher","add_edit_component_1","attachments_component_1","collections_component_1","VaultComponent","location","groupingsComponent","ciphersComponent","isAdmin","selectedAll","selectedType","filterCipherType","selectedCollectionId","filterCollection","clearGroupingFilters","applyFilter","clearFilters","go","filterSearchText","editCipherAttachments","attachmentsModalRef","AttachmentsComponent","madeAttachmentChanges","onUploadedAttachment","onDeletedAttachment","editCipherCollections","collectionsModalRef","onSavedCollections","addCipher","editCipher","cipherAddEditModalRef","AddEditComponent","onSavedCipher","onDeletedCipher","createUrlTree","cipher_1","onEventsClicked","getCiphersOrganization","decCiphers_1","promises_1","getLocaleSortingFunction","allCiphers","loadCollections","collectionDomains","unassignedCollection","OrganizationLayoutComponent","classList","BreachReportComponent","auditService","breachedAccounts","checkedUsername","password_generator_component_1","password_generator_history_component_1","PasswordGeneratorComponent","passwordGenerationService","history","historyModalRef","PasswordGeneratorHistoryComponent","organizationCreateRequest_1","CreateOrganizationComponent","ownedBusiness","storageGbPriceMonthly","additionalStorage","additionalSeats","plan","interval","price","monthlyPrice","yearlyPrice","plans","free","basePrice","noAdditionalSeats","noPayment","families","annualBasePrice","baseSeats","annualPlanType","FamiliesAnnually","teams","monthlyBasePrice","seatPrice","annualSeatPrice","monthlySeatPrice","monthPlanType","enterprise","collectionCt","makeShareKey","shareKey","paymentComponent","fd","FormData","append","postOrganizationLicense","OrganizationCreateRequest","collectionName","paymentToken","additionalStorageGb","postOrganization","finalize","refreshIdentityToken","changedPlan","changedOwnedBusiness","additionalStorageTotal","annual","seatTotal","baseTotal","UserBillingComponent","getUserBilling","postReinstatePremium","postCancelPremium","paymentRequest_1","AdjustPaymentComponent","onAdjusted","onCanceled","request_1","PaymentRequest","postAccountPayment","postOrganizationPayment","currentType","storageRequest_1","AdjustStorageComponent","storageGbPrice","storageAdjustment","StorageRequest","storageGbAdjustment","postAccountStorage","postOrganizationStorage","UpdateLicenseComponent","postAccountLicense","postOrganizationLicenseUpdate","PremiumComponent","premiumPrice","getEmailVerified","finalizePremium","postPremium","RadioControlValueAccessor","ɵi","Injector","p1_0","View_PaymentComponent_2","i2","View_PaymentComponent_3","NgSelectOption","SelectControlValueAccessor","ngValue","ɵq","context","$implicit","PatternValidator","pattern","View_PaymentComponent_5","NgForOf","ngForOf","View_PaymentComponent_6","cvc","View_CalloutComponent_0","RenderType_CalloutComponent","View_PaymentComponent_1","View_PaymentComponent_4","View_PaymentComponent_7","View_PaymentComponent_8","updateTwoFactorDuoRequest_1","processResponse","UpdateTwoFactorDuoRequest","integrationKey","ikey","secretKey","skey","putTwoFactorOrganizationDuo","putTwoFactorDuo","updateDomainsRequest_1","DomainRulesComponent","custom","getSettingsDomains","equivalentDomains","globalEquivalentDomains","domains","excluded","toggleExcluded","globalDomain","customize","UpdateDomainsRequest","excludedGlobalEquivalentDomains","d2","putSettingsDomains","indexTrackBy","constants_service_1","OptionsComponent","storageService","stateService","localeOptions","supportedTranslationLocales","locale","disableIcons","startingLocale","save","reload","deauthorize_sessions_component_1","delete_account_component_1","purge_vault_component_1","deauthorizeSessions","deauthModalRef","DeauthorizeSessionsComponent","purgeVault","purgeModalRef","PurgeVaultComponent","deleteAccount","DeleteAccountComponent","broadcasterService","ngZone","run","command","loadCipher","cipherDomain","loadCipherCollections","saveCollections","check","getAllDecrypted","saveCollectionsWithServer","totpService","cleanUp","isPremium","totpUpdateCode","totpTick","totpInterval","setInterval","toggleFavorite","launch","generatePassword","confirmed","getOptions","upgradeOrganization","clearInterval","getCode","totpCode","totpCodeFormatted","epoch","round","mod","totpSec","totpDash","totpLow","folder","update_key_component_1","bulk_delete_component_1","bulk_move_component_1","bulk_share_component_1","folder_add_edit_component_1","share_component_1","favorites","showVerifyEmail","showBrowserOutdated","showUpdateKey","showPremiumCallout","navigator","userAgent","hasEncKey","organizationsComponent","selectedFavorites","filterFavorites","selectedFolder","selectedFolderId","filterFolder","shareCipher","shareModalRef","ShareComponent","onSharedCipher","folderAddEditModalRef","FolderAddEditComponent","onSavedFolder","loadFolders","editFolder","onDeletedFolder","bulkDelete","selectedIds","bulkDeleteModalRef","BulkDeleteComponent","cipherIds","onDeleted","bulkShare","selectedCiphers","bulkShareModalRef","BulkShareComponent","onShared","bulkMove","bulkMoveModalRef","BulkMoveComponent","onMoved","updateKey","updateKeyModalRef","UpdateKeyComponent","UriMatchType","IconComponent","environmentService","iconsUrl","baseUrl","imageEnabled","setLoginIcon","hostnameUri","isWebsite","image","fallbackImage","UserLayoutComponent","FooterComponent","version","getApplicationVersion","NavbarComponent","getName","lock","verifyDeleteRecoverRequest_1","VerifyRecoverDeleteComponent","fired","VerifyDeleteRecoverRequest","postAccountRecoverDeleteToken","deleteRecoverRequest_1","RecoverDeleteComponent","DeleteRecoverRequest","postAccountRecoverDelete","twoFactorRecoveryRequest_1","RecoverTwoFactorComponent","TwoFactorRecoveryRequest","postTwoFactorRecover","organizationUserAcceptRequest_1","AcceptOrganizationComponent","isAuthenticated","OrganizationUserAcceptRequest","postOrganizationUserAccept","toast","timeout","orgName","organizationName","verifyEmailRequest_1","VerifyEmailTokenComponent","postAccountVerifyEmailToken","VerifyEmailRequest","LockComponent","routerService","hasKey","successRoute","HintComponent","RegisterComponent","authService","showCreateOrgMessage","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","duoSig","appSig","iframe","submitCallback","DUO_MESSAGE_FORMAT","DUO_ERROR_FORMAT","DUO_OPEN_WINDOW_FORMAT","VALID_OPEN_WINDOW_DOMAINS","iframeId","postAction","postArgument","throwError","getDataAttribute","element","dataset","getAttribute","fallbackEvent","addEventListener","attachEvent","off","removeEventListener","detachEvent","onReady","offReady","parseSigRequest","sig","sigParts","sigRequest","onDOMReady","ready","isDuoMessage","Boolean","origin","onReceivedMessage","parser","protocol","endsWith","isValidUrlToOpen","open","doPostBack","input","form","parentElement","insertBefore","nextSibling","sig_request","post_action","post_argument","tagName","submit_callback","_onReady","_parseSigRequest","_isDuoMessage","_doPostBack","two_factor_options_component_1","TwoFactorComponent","onSuccessfulLoginNavigate","goAfterLogIn","anotherMethod","twoFactorOptionsModal","TwoFactorOptionsComponent","onProviderSelected","selectedProviderType","onRecoverSelected","loginRedirect","LoginComponent","FrontendLayoutComponent","SettingsService","LockService","UnauthGuardService","canActivate","OrganizationTypeGuardService","allowedTypes","OrganizationGuardService","AuthGuardService","organization_1","setSecurityStamp","stamp","getSecurityStamp","clearOrganizations","Organization","replaceOrganizations","b32Chars","cryptoFunctionService","keyb32","timeHex","leftpad","dec2hex","timeBytes","keyBytes","b32tobytes","sign","hashHex","offset","hex2dec","otp","isAutoCopyEnabled","b32tohex","cleanedInput","bits","hex","byteIndex","charAt","chunk","hmac","signature","setToken","setRefreshToken","decodedToken","getRefreshToken","clearTwoFactorToken","clearToken","decodeToken","decoded","getTokenExpirationDate","setUTCSeconds","tokenSecondsRemaining","offsetSeconds","msRemaining","valueOf","tokenNeedsRefresh","minutes","sub","email_verified","getIssuer","iss","folderData_1","organizationData_1","settingsService","logoutCallback","syncInProgress","getLastSync","lastSync","setLastSync","toJSON","syncStarted","syncCompleted","successfully","forceSync","now","needsSyncing","needsSyncResult","needsSync","getSync","syncProfile","profile","syncFolders","syncCollections","syncCiphers","syncSettings","getAccountRevisionDate","accountRevisionDate","securityStamp","setOrgKeys","OrganizationData","FolderData","eqDomains","setEquivalentDomains","purge","clearCache","settingsCache","getEquivalentDomains","getSettingsKey","setSettingsKey","getSettings","settings","passwordHistory_1","DefaultOptions","ambiguous","minNumber","uppercase","minUppercase","lowercase","minLowercase","special","minSpecial","assign","minLength","positions","shuffleArray","allCharSet","lowercaseCharSet","uppercaseCharSet","numberCharSet","specialCharSet","positionChars","randomNumber","randomCharIndex","optionsCache","saveOptions","getHistory","encrypted","decryptHistory","addHistory","currentHistory","matchesPrevious","unshift","PasswordHistory","pop","encryptHistory","newHistory","decrypted","array","lockedCallback","checkOnInterval","checkLock","isViewOpen","lockOption","lockTimeout","lastActive","lockOptionSeconds","clearKey","clearOrgKeys","clearKeyPair","clearEncKey","setLockOption","toggleKey","systemLanguage","localesDirectory","getLocalesJson","defaultMessages","localeMessages","translationLocale","Intl","Collator","numeric","sensitivity","loadMessages","translate","messagesObj","formattedLocale","locales","placeholders","placeProp","replaceToken","replaceContent","folder_1","decryptedFolderCache","Folder","getAll","decFolders","noneFolder","saveWithServer","postFolder","putFolder","upsert","cId","updates","deleteFolder","environmentUrls_1","getWebVaultUrl","webVaultUrl","setUrlsFromStorage","urlsObj","urls","base","api","icons","webVault","envUrls","EnvironmentUrls","setUrls","apiUrl","identityUrl","formatUrl","encryptedObject_1","symmetricCryptoKey_1","sequentialize_1","ɵ1","secureStorageService","keyB64","keyHash","encKey","encPrivateKey","orgKeys","getKey","SymmetricCryptoKey","getKeyHash","getEncKey","encKeyCipher","decEncKey","stretchKey","newKey","getPublicKey","getPrivateKey","rsaExtractPublicKey","getOrgKeys","encOrgKeys","rsaDecrypt","decValue","legacyEtmKey","clearKeyHash","memoryOnly","clearKeys","option","salt","pbkdf2","randomBytes","rsaGenerateKeyPair","publicB64","privateEnc","makeEncKey","encKeyEnc","plainValue","plainBuf","aesEncrypt","encObj","encryptToBytes","encValue","macLen","encBytes","macKey","Rsa2048_OaepSha1_HmacSha256_B64","macBytes","cipherString","aesDecryptToBytes","decipher","aesDecryptToUtf8","decryptFromBytes","encBuf","ctBytes","ivBytes","min","max","rval","range","bitsNeeded","ceil","log2","bytesNeeded","mask","pow","byteArray","EncryptedObject","getKeyForEncryption","macData","keyForEnc","theKey","resolveLegacyKey","fastParams","aesDecryptFastParameters","hmacFast","computedMac","compareFast","aesDecryptFast","aesDecrypt","Rsa2048_OaepSha256_HmacSha256_B64","alg","hkdfExpand","prk","info","hashLen","okm","previousT","__decorate","sequentialize","ɵ0","ContainerService","attachToWindow","attachToGlobal","decryptedCollectionCache","decCollections","uriMatchType_1","loginUri_1","cipherBulkDeleteRequest_1","cipherBulkMoveRequest_1","cipherBulkShareRequest_1","cipherCollectionsRequest_1","cipherShareRequest_1","decryptedCipherCache","encryptObjProperty","encryptCipherData","encryptFields","encryptAttachments","attachmentsModel","encAttachments","sizeName","fieldsModel","encFields","encryptField","encField","fieldModel","decCiphers","getAllDecryptedForGrouping","groupingId","getAllDecryptedForUrl","includeOtherTypes","eqDomainsPromise","matches","eqDomain","matchingDomains","Host","urlHost","Exact","StartsWith","RegularExpression","Never","getLastUsedForUrl","sortCiphersByLastUsed","updateLastUsedDate","ciphersLocalData","lastUsedDate","cached","saveNeverDomain","postCipher","putCipher","shareWithServer","encCipher","CipherShareRequest","putShareCipher","shareManyWithServer","encCiphers","_i","ciphers_1","CipherBulkShareRequest","putShareCiphers","shareAttachmentWithServer","attachmentView","fetch","Request","cache","attachmentResponse","arrayBuffer","buf","decBuf","encData","encFileName","blob","Blob","filepath","contentType","postShareCipherAttachment","getSingleMessage","saveAttachmentWithServer","unencryptedFile","admin","readAsArrayBuffer","saveAttachmentRawWithServer","cData","e_2","filename","postCipherAttachmentAdmin","postCipherAttachment","e_3","CipherCollectionsRequest","putCipherCollections","moveManyWithServer","ids","putMoveCiphers","CipherBulkMoveRequest","deleteCipher","deleteManyWithServer","deleteManyCiphers","CipherBulkDeleteRequest","deleteAttachment","attachmentId","deleteAttachmentWithServer","deleteCipherAttachment","e_4","aLastUsed","bLastUsed","sortCiphersByLastUsedThenName","aName","bName","theObj","modelProp","LoginUri","breachAccountResponse_1","passwordLeaked","hashBytes","hashStart","hashEnding","leakedHashes","v","json","BreachAccountResponse","AppIdService","makeAndGetAppId","getAnonymousAppId","existingId","guid","profileOrganizationResponse_1","ProfileResponse","Name","emailVerified","EmailVerified","masterPasswordHint","MasterPasswordHint","Premium","culture","Culture","twoFactorEnabled","TwoFactorEnabled","Key","PrivateKey","SecurityStamp","Organizations","ProfileOrganizationResponse","OrganizationResponse","BusinessName","businessAddress1","BusinessAddress1","businessAddress2","BusinessAddress2","businessAddress3","BusinessAddress3","businessCountry","BusinessCountry","businessTaxNumber","BusinessTaxNumber","BillingEmail","Plan","seats","Seats","maxCollections","MaxCollections","MaxStorageGb","UseGroups","useDirectory","UseDirectory","UseEvents","useTotp","UseTotp","Use2fa","FolderResponse","RevisionDate","globalDomainResponse_1","DomainsResponse","EquivalentDomains","GlobalEquivalentDomains","GlobalDomainResponse","selectionReadOnlyResponse_1","CollectionResponse","OrganizationId","CollectionDetailsResponse","CollectionGroupDetailsResponse","Groups","g","attachmentResponse_1","cardApi_1","fieldApi_1","identityApi_1","loginApi_1","secureNoteApi_1","CipherResponse","FolderId","Type","Notes","Favorite","Edit","OrganizationUseTotp","LoginApi","CardApi","IdentityApi","SecureNoteApi","Fields","FieldApi","Attachments","AttachmentResponse","CollectionIds","BillingResponse","storageName","StorageName","StorageGb","PaymentSource","BillingSourceResponse","Subscription","BillingSubscriptionResponse","UpcomingInvoice","BillingInvoiceResponse","Charges","BillingChargeResponse","License","expiration","Expiration","cardBrand","CardBrand","Description","needsVerification","NeedsVerification","trialEndDate","TrialStartDate","TrialEndDate","periodStartDate","PeriodStartDate","periodEndDate","PeriodEndDate","cancelledDate","CancelledDate","CancelAtEndDate","Status","Cancelled","Items","BillingSubscriptionItemResponse","amount","Amount","quantity","Quantity","Interval","createdDate","CreatedDate","failureMessage","FailureMessage","refunded","Refunded","partiallyRefunded","PartiallyRefunded","refundedAmount","RefundedAmount","InvoiceId","billingResponse_1","cipherResponse_1","collectionResponse_1","collectionUserResponse_1","domainsResponse_1","errorResponse_1","eventResponse_1","folderResponse_1","groupResponse_1","groupUserResponse_1","identityTokenResponse_1","identityTwoFactorResponse_1","listResponse_1","organizationBillingResponse_1","organizationResponse_1","organizationUserResponse_1","profileResponse_1","syncResponse_1","twoFactorAuthenticatorResponse_1","twoFactorDuoResponse_1","twoFactorEmailResponse_1","twoFactorProviderResponse_1","twoFactorRescoverResponse_1","twoFactorU2fResponse_1","twoFactorYubiKeyResponse_1","userKeyResponse_1","urlsSet","isWebClient","isDesktopClient","usingBaseUrl","device","getDevice","identityBaseUrl","qsStringify","toIdentityToken","identityClientId","credentials","getCredentials","headers","Headers","Content-Type","Accept","Device-Type","responseJson","typeHeader","IdentityTokenResponse","TwoFactorProviders2","keys","IdentityTwoFactorResponse","ErrorResponse","doRefreshToken","getProfile","putProfile","postEmailToken","postEmail","postPassword","postSecurityStamp","postPasswordHint","postRegister","postAccountKey","postAccountVerifyEmail","getCipher","getCipherAdmin","ListResponse","postCipherAdmin","putCipherAdmin","deleteCipherAdmin","putCipherCollectionsAdmin","postPurgeCiphers","deleteCipherAttachmentAdmin","getCollectionDetails","CollectionUserResponse","postCollection","putCollection","getGroupDetails","GroupDetailsResponse","GroupResponse","GroupUserResponse","postGroup","putGroup","getOrganizationUser","OrganizationUserDetailsResponse","getOrganizationUserGroups","OrganizationUserUserDetailsResponse","postOrganizationUserInvite","putOrganizationUser","putOrganizationUserGroups","path","SyncResponse","postImportDirectory","TwoFactorProviderResponse","TwoFactorAuthenticatorResponse","TwoFactorEmailResponse","TwoFactorDuoResponse","TwoFactorYubiKeyResponse","TwoFactorU2fResponse","TwoFactorRecoverResponse","putTwoFactorAuthenticator","putTwoFactorEmail","putTwoFactorYubiKey","putTwoFactorU2f","postTwoFactorEmailSetup","postTwoFactorEmail","OrganizationBillingResponse","postOrganizationSeat","getEvents","addEventParameters","EventResponse","UserKeyResponse","hasResponse","requestInit","handleTokenState","authHeader","handleError","tokenError","grant_type","client_id","refresh_token","TrueFalseValueDirective","elementRef","trueValue","falseValue","propagateChange","_","onHostChange","writeValue","setProperty","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","BoxRowDirective","elRef","formEls","formEl","inputEl","click","seatRequest_1","AdjustSeatsComponent","seatAdjustment","SeatRequest","organizationUserUpdateGroupsRequest_1","groupsResponse","userGroups","ug","OrganizationUserUpdateGroupsRequest","groupIds","organizationUserInviteRequest_1","organizationUserUpdateRequest_1","selectionReadOnlyRequest_1","editMode","User","access","OrganizationUserUpdateRequest","OrganizationUserInviteRequest","emails","deletePromise","groupRequest_1","externalId","GroupRequest","saveCipherAttachment","encryptCipher","saveCipher","loginUriData_1","toLoginUriData","LoginUriData","view","identityView_1","cardView_1","attachmentView_1","AttachmentView","i7","View_PaymentComponent_0","RenderType_PaymentComponent","i8","i9","View_AdjustPaymentComponent_1","i11","View_AdjustPaymentComponent_2","canChange","adjustedStorageTotal","ɵbc","View_AdjustStorageComponent_1","updateTwoFactorYubioOtpRequest_1","nfc","UpdateTwoFactorYubioOtpRequest","key1","key2","key3","key4","key5","disablePromise","existingKey","padRight","updateTwoFactorU2fRequest_1","closed","u2fScript","readDevice","UpdateTwoFactorU2fRequest","deviceResponse","u2fResponse","log","u2fError","u2fListening","u2f","register","u2fChallenge","challenge","errorCode","print","w","write","formatString","twoFactorEmailRequest_1","updateTwoFactorEmailRequest_1","sendEmail","TwoFactorEmailRequest","emailPromise","sentEmail","UpdateTwoFactorEmailRequest","updateTwoFactorAuthenticatorRequest_1","qrScript","UpdateTwoFactorAuthenticatorRequest","QRious","passwordRequest_1","ChangePasswordComponent","currentMasterPassword","newMasterPassword","confirmNewMasterPassword","PasswordRequest","newMasterPasswordHash","newEncKey","EmailTokenRequest","emailRequest_1","emailTokenRequest_1","ChangeEmailComponent","tokenSent","newEmail","EmailRequest","reset","updateProfileRequest_1","ProfileComponent","UpdateProfileRequest","writeableCollections","allCollections","filterCollections","cipherView","attachmentPromises","checkedCollectionIds","nonShareableCount","shareableCiphers","hasAttachments","CipherWithIdRequest","cipherWithIdRequest_1","folderWithIdRequest_1","updateKeyRequest_1","makeRequest","UpdateKeyRequest","FolderWithIdRequest","ɵpad","View_OrganizationsComponent_5","View_OrganizationsComponent_4","View_OrganizationsComponent_6","View_OrganizationsComponent_2","View_OrganizationsComponent_3","View_AvatarComponent_0","RenderType_AvatarComponent","DomSanitizer","View_OrganizationsComponent_14","View_OrganizationsComponent_12","View_OrganizationsComponent_13","View_OrganizationsComponent_8","View_OrganizationsComponent_9","View_OrganizationsComponent_10","View_OrganizationsComponent_11","View_OrganizationsComponent_1","View_OrganizationsComponent_7","enums_1","SearchCiphersPipe","onlySearchName","View_IconComponent_1","View_IconComponent_2","VerifyEmailComponent","klass","bg-secondary-alt","RouterLinkActive","Router","ChangeDetectorRef","routerLinkActive","ɵqud","links","linksWithHrefs","View_NavbarComponent_1","encryptedPrivateKey","_swal","angular2_toaster_1","swal","AppComponent","angulartics2GoogleAnalytics","lockService","toasterConfig","ToasterConfig","showCloseButton","mouseoverTimerStop","animation","limit","lastActivity","runOutsideAngular","onmousemove","recordActivity","onmousedown","ontouchstart","onclick","onscroll","onkeypress","expired","modals_1","webpackEmptyAsyncContext","req","frontend_layout_component_1","organization_layout_component_1","user_layout_component_1","accept_organization_component_1","hint_component_1","lock_component_1","login_component_1","recover_delete_component_1","recover_two_factor_component_1","register_component_1","two_factor_component_1","verify_email_token_component_1","verify_recover_delete_component_1","events_component_1","groups_component_1","manage_component_1","people_component_1","account_component_1","organization_billing_component_1","settings_component_1","two_factor_setup_component_1","export_component_1","import_component_1","tools_component_1","vault_component_1","account_component_2","create_organization_component_1","domain_rules_component_1","options_component_1","organizations_component_1","premium_component_1","settings_component_2","two_factor_setup_component_2","user_billing_component_1","breach_report_component_1","export_component_2","import_component_2","tools_component_2","vault_component_2","organization_guard_service_1","organization_type_guard_service_1","unauth_guard_service_1","auth_guard_service_1","ɵ2","ɵ3","ɵ4","ɵ5","ɵ6","ɵ7","ɵ8","ɵ9","ɵ10","ɵ11","ɵ12","ɵ13","ɵ14","ɵ15","ɵ16","ɵ17","ɵ18","ɵ19","ɵ20","Owner","Admin","ɵ21","ɵ22","ɵ23","ɵ24","ɵ25","ɵ26","ɵ27","ɵ28","ɵ29","ɵ30","ɵ31","AppRoutingModule","DecryptParameters","forge","decryptParameters_1","WebCryptoFunctionService","crypto","subtle","isEdge","isIE","algorithm","iterations","forgeLen","passwordBytes","toByteString","saltBytes","derivedKeyBytes","wcLen","passwordBuf","toBuf","saltBuf","pbkdf2Params","toWebCryptoAlgorithm","importKey","impKey","deriveBits","md","sha1","valueBytes","digest","valueBuf","signingAlgorithm","mac1","mac2","arr1","arr2","getBytes","rand","Uint32Array","util","createBuffer","putInt32","meta","encKeyByteString","macKeyByteString","decode64","encKeyB64","macKeyB64","parameters","dataBuffer","createDecipher","finish","rsaParams","impPrivateKey","exportKey","jwkPrivateKey","jwkPublicKeyParams","kty","ext","impPublicKey","modulusLength","publicExponent","generateKey","getRandomValues","encodeUtf8","getExport","foldersMap","exportCiphers","buildCommonCipher","unparse","collectionPromises","decCol","cipherPromises","decCipher","collectionsMap","prefix","dateString","padNumber","getSeconds","padCharacter","numString","login_uri","login_username","login_password","login_totp","GaObj","AnalyticsIds","Analytics","gaFilter","dependencyResolver","gaTrackingId","defaultDisabled","deps","appVersion","isFirefox","isMacAppStore","analyticsId","GoogleAnalyticsObject","param1","param2","ga","disabled","gaAnonAppId","gaTrackPageView","hitType","page","gaTrackEvent","XMLHttpRequest","eventCategory","eventAction","eventLabel","eventValue","cleanPagePath","pagePath","paramIndex","newPathParts","WebPlatformUtilsService","browserCache","chrome","getDeviceString","isChrome","isOpera","isVivaldi","isSafari","rel","blobData","blobOptions","msSaveOrOpenBlob","msSaveBlob","createObjectURL","download","position","isMobile","showToast","confirmText","cancelText","buttons","contentDiv","contains","titleDiv","createTextNode","textDiv","clipboardData","setData","queryCommandSupported","textarea","execCommand","mobile","vendor","opera","MemoryStorageService","store","filePath","selfHost","usersGetPremium","cacheKey","propertyKey","descriptor","originalMethod","caches","args","arguments","argsCacheKey","getCache","addedDate","AddedDate","breachDate","BreachDate","dataClasses","DataClasses","isActive","IsActive","isVerified","IsVerified","logoType","LogoType","modifiedDate","ModifiedDate","pwnCount","PwnCount","Title","UserId","PublicKey","Enabled","Key1","Key2","Key3","Key4","Key5","Nfc","Challenge","ChallengeResponse","AppId","Version","Code","SecretKey","IntegrationKey","Profile","Folders","Collections","Ciphers","Domains","SelfHost","UsersGetPremium","OrganizationUserResponse","AccessAll","Data","dr","ContinuationToken","access_token","expiresIn","expires_in","tokenType","token_type","TwoFactorToken","OrganizationUserId","ExternalId","CipherId","CollectionId","GroupId","ActingUserId","IpAddress","identityResponse","errorModel","ErrorModel","Message","ValidationErrors","statusCode","Excluded","LoginUriApi","Uri","Match","loginUriApi_1","Username","Password","Totp","Uris","FirstName","MiddleName","LastName","Address1","Address2","Address3","City","State","PostalCode","Country","Company","Phone","SSN","PassportNumber","LicenseNumber","Value","CardholderName","Brand","Number","ExpMonth","ExpYear","Url","FileName","Size","SizeName","api_service_1","appId_service_1","audit_service_1","cipher_service_1","collection_service_1","container_service_1","crypto_service_1","environment_service_1","folder_service_1","i18n_service_1","lock_service_1","passwordGeneration_service_1","settings_service_1","state_service_1","sync_service_1","token_service_1","totp_service_1","user_service_1","services_1","HtmlStorageService","localStorageKeys","Set","localStorageStartsWithKeys","isLocalStorage","localStorage","getItem","sessionStorage","setItem","removeItem","swKey","BroadcasterMessagingService","subscriber","arg","broadcasterMessaging_service_1","htmlStorage_service_1","memoryStorage_service_1","webPlatformUtils_service_1","broadcaster_service_1","analytics_1","export_service_1","webCryptoFunction_service_1","language","__generator","initFactory","htmlEl","documentElement","theme","ServicesModule","View_ToasterContainerComponent_0","RenderType_ToasterContainerComponent","ToasterContainerComponent","ToasterService","NgZone","toasterconfig","RouterOutlet","ChildrenOutletContexts","ComponentFactoryResolver","appAutofocus","View_TwoFactorVerifyComponent_0","RenderType_TwoFactorVerifyComponent","i10","View_TwoFactorYubiKeyComponent_5","View_TwoFactorYubiKeyComponent_6","i12","i13","View_TwoFactorYubiKeyComponent_3","View_TwoFactorYubiKeyComponent_4","CheckboxControlValueAccessor","View_TwoFactorYubiKeyComponent_7","View_TwoFactorYubiKeyComponent_1","View_TwoFactorYubiKeyComponent_2","View_TwoFactorU2fComponent_5","View_TwoFactorU2fComponent_6","View_TwoFactorU2fComponent_7","View_TwoFactorU2fComponent_10","View_TwoFactorU2fComponent_11","View_TwoFactorU2fComponent_3","View_TwoFactorU2fComponent_4","View_TwoFactorU2fComponent_8","View_TwoFactorU2fComponent_9","View_TwoFactorU2fComponent_1","View_TwoFactorU2fComponent_2","View_TwoFactorRecoveryComponent_3","View_TwoFactorRecoveryComponent_4","View_TwoFactorRecoveryComponent_5","View_TwoFactorRecoveryComponent_1","View_TwoFactorRecoveryComponent_2","View_TwoFactorOptionsComponent_1","View_TwoFactorEmailComponent_5","View_TwoFactorEmailComponent_3","View_TwoFactorEmailComponent_4","View_TwoFactorEmailComponent_6","View_TwoFactorEmailComponent_7","View_TwoFactorEmailComponent_1","View_TwoFactorEmailComponent_2","View_TwoFactorDuoComponent_3","View_TwoFactorDuoComponent_4","View_TwoFactorDuoComponent_5","View_TwoFactorDuoComponent_6","View_TwoFactorDuoComponent_1","View_TwoFactorDuoComponent_2","View_TwoFactorAuthenticatorComponent_3","View_TwoFactorAuthenticatorComponent_4","View_TwoFactorAuthenticatorComponent_5","View_TwoFactorAuthenticatorComponent_6","mb-0","View_TwoFactorAuthenticatorComponent_7","View_TwoFactorAuthenticatorComponent_8","View_TwoFactorAuthenticatorComponent_9","View_TwoFactorAuthenticatorComponent_1","View_TwoFactorAuthenticatorComponent_2","View_ShareComponent_6","ɵbf","View_ShareComponent_1","View_ShareComponent_2","View_ShareComponent_3","View_ShareComponent_4","View_ShareComponent_5","View_PasswordGeneratorHistoryComponent_2","View_PasswordGeneratorHistoryComponent_1","View_PasswordGeneratorHistoryComponent_3","View_UserGroupsComponent_6","View_UserGroupsComponent_4","View_UserGroupsComponent_5","View_UserGroupsComponent_1","View_UserGroupsComponent_2","View_UserGroupsComponent_3","View_UserAddEditComponent_9","View_UserAddEditComponent_7","View_UserAddEditComponent_8","View_UserAddEditComponent_4","View_UserAddEditComponent_5","View_UserAddEditComponent_6","modal-lg","View_UserAddEditComponent_1","View_UserAddEditComponent_2","View_UserAddEditComponent_3","View_UserAddEditComponent_10","View_GroupAddEditComponent_7","View_GroupAddEditComponent_5","View_GroupAddEditComponent_6","View_GroupAddEditComponent_3","View_GroupAddEditComponent_4","View_GroupAddEditComponent_1","View_GroupAddEditComponent_2","View_GroupAddEditComponent_8","View_EntityUsersComponent_10","View_EntityUsersComponent_11","View_EntityUsersComponent_6","View_EntityUsersComponent_7","View_EntityUsersComponent_8","View_EntityUsersComponent_9","View_EntityUsersComponent_12","View_EntityUsersComponent_13","View_EntityUsersComponent_14","View_EntityUsersComponent_15","View_EntityUsersComponent_5","View_EntityUsersComponent_3","View_EntityUsersComponent_4","View_EntityUsersComponent_1","View_EntityUsersComponent_2","View_EntityEventsComponent_8","View_EntityEventsComponent_6","View_EntityEventsComponent_7","fa-spin","View_EntityEventsComponent_4","View_EntityEventsComponent_5","View_EntityEventsComponent_9","View_EntityEventsComponent_1","View_EntityEventsComponent_2","View_EntityEventsComponent_3","View_CollectionsComponent_5","View_CollectionsComponent_1","View_CollectionsComponent_2","View_CollectionsComponent_3","View_CollectionsComponent_4","View_CollectionAddEditComponent_7","View_CollectionAddEditComponent_6","View_CollectionAddEditComponent_3","View_CollectionAddEditComponent_4","View_CollectionAddEditComponent_5","View_CollectionAddEditComponent_1","View_CollectionAddEditComponent_2","View_CollectionAddEditComponent_8","View_AttachmentsComponent_4","View_AttachmentsComponent_5","downloading","deletePromises","View_AttachmentsComponent_3","View_AttachmentsComponent_1","View_AttachmentsComponent_2","View_AddEditComponent_3","typeOptions","View_AddEditComponent_5","View_AddEditComponent_8","View_AddEditComponent_9","NgStyle","ngStyle","stroke-dashoffset.px","View_AddEditComponent_13","uriMatchOptions","View_AddEditComponent_12","fa-eye","fa-eye-slash","low","View_AddEditComponent_7","View_AddEditComponent_10","View_AddEditComponent_11","checkPasswordPromise","showPassword","View_AddEditComponent_15","View_AddEditComponent_16","cardBrandOptions","showCardCode","View_AddEditComponent_18","identityTitleOptions","showValue","View_AddEditComponent_21","View_AddEditComponent_22","View_AddEditComponent_23","fieldType","Hidden","View_AddEditComponent_20","View_AddEditComponent_2","View_AddEditComponent_4","View_AddEditComponent_6","View_AddEditComponent_14","View_AddEditComponent_17","View_AddEditComponent_19","View_AddEditComponent_24","hasFields","addFieldType","addFieldTypeOptions","fa-star","fa-star-o","View_AddEditComponent_26","View_AddEditComponent_27","View_AddEditComponent_1","View_AddEditComponent_25","View_ModalComponent_1","View_FolderAddEditComponent_1","View_BulkShareComponent_5","View_BulkShareComponent_1","View_BulkShareComponent_2","View_BulkShareComponent_3","View_BulkShareComponent_4","View_BulkMoveComponent_1","adjustedSeatTotal","View_AdjustSeatsComponent_1","View_OrganizationBillingComponent_7","View_OrganizationBillingComponent_8","View_OrganizationBillingComponent_11","subscriptionMarkedForCancel","nextInvoice","View_OrganizationBillingComponent_13","View_OrganizationBillingComponent_10","View_OrganizationBillingComponent_12","View_UpdateLicenseComponent_0","RenderType_UpdateLicenseComponent","Angulartics2","View_OrganizationBillingComponent_15","View_AdjustSeatsComponent_0","RenderType_AdjustSeatsComponent","View_OrganizationBillingComponent_20","View_OrganizationBillingComponent_21","i14","View_AdjustStorageComponent_0","RenderType_AdjustStorageComponent","i15","View_OrganizationBillingComponent_23","View_OrganizationBillingComponent_24","i16","View_OrganizationBillingComponent_27","fa-credit-card","fa-university","fa-paypal text-primary","BankAccount","PayPal","i17","View_AdjustPaymentComponent_0","RenderType_AdjustPaymentComponent","i18","i19","text-strike","View_OrganizationBillingComponent_32","View_OrganizationBillingComponent_17","View_OrganizationBillingComponent_18","View_OrganizationBillingComponent_19","View_OrganizationBillingComponent_22","View_OrganizationBillingComponent_25","View_OrganizationBillingComponent_26","View_OrganizationBillingComponent_28","View_OrganizationBillingComponent_29","View_OrganizationBillingComponent_30","View_OrganizationBillingComponent_31","canDownloadLicense","canAdjustSeats","storageProgressWidth","View_OrganizationBillingComponent_4","View_OrganizationBillingComponent_5","View_OrganizationBillingComponent_6","View_OrganizationBillingComponent_9","View_OrganizationBillingComponent_14","View_OrganizationBillingComponent_16","View_OrganizationBillingComponent_1","View_OrganizationBillingComponent_2","View_OrganizationBillingComponent_3","View_TwoFactorSetupComponent_6","View_TwoFactorSetupComponent_7","View_TwoFactorSetupComponent_1","View_TwoFactorSetupComponent_2","View_TwoFactorSetupComponent_3","mt-5","View_TwoFactorSetupComponent_4","View_TwoFactorSetupComponent_5","View_TwoFactorSetupComponent_8","View_TwoFactorSetupComponent_9","View_TwoFactorSetupComponent_10","View_TwoFactorSetupComponent_11","View_TwoFactorSetupComponent_12","View_TwoFactorSetupComponent_13","View_AccountComponent_1","View_AccountComponent_2","View_AccountComponent_3","View_AccountComponent_4","View_SettingsComponent_1","invitedCount","acceptedCount","View_PeopleComponent_8","View_PeopleComponent_9","View_PeopleComponent_10","View_PeopleComponent_11","View_PeopleComponent_12","View_PeopleComponent_13","View_PeopleComponent_14","View_PeopleComponent_15","View_PeopleComponent_16","View_PeopleComponent_17","View_PeopleComponent_7","View_PeopleComponent_5","View_PeopleComponent_6","active","View_PeopleComponent_1","View_PeopleComponent_2","View_PeopleComponent_3","View_PeopleComponent_4","View_PeopleComponent_18","View_PeopleComponent_19","View_PeopleComponent_20","View_GroupsComponent_5","View_GroupsComponent_3","View_GroupsComponent_4","View_GroupsComponent_1","View_GroupsComponent_2","View_GroupsComponent_6","View_GroupsComponent_7","View_EventsComponent_5","View_EventsComponent_3","View_EventsComponent_4","View_EventsComponent_6","View_EventsComponent_1","View_EventsComponent_2","View_CollectionsComponent_6","View_CollectionsComponent_7","View_ManageComponent_1","View_ManageComponent_2","View_ImportComponent_3","View_ImportComponent_18","View_ImportComponent_5","View_ImportComponent_6","View_ImportComponent_7","View_ImportComponent_8","View_ImportComponent_9","View_ImportComponent_10","View_ImportComponent_11","View_ImportComponent_12","View_ImportComponent_13","View_ImportComponent_14","View_ImportComponent_15","View_ImportComponent_16","View_ImportComponent_17","View_ImportComponent_19","View_ImportComponent_20","View_ImportComponent_21","View_ImportComponent_22","View_ImportComponent_23","View_ImportComponent_24","View_ImportComponent_25","View_ImportComponent_26","View_ImportComponent_27","View_ImportComponent_28","View_ImportComponent_29","View_ImportComponent_30","View_ImportComponent_31","View_ImportComponent_32","View_ImportComponent_33","View_ImportComponent_34","View_ImportComponent_35","View_ImportComponent_36","View_ImportComponent_37","View_ImportComponent_1","View_ImportComponent_2","View_ImportComponent_4","View_CiphersComponent_4","View_IconComponent_0","RenderType_IconComponent","View_CiphersComponent_5","View_CiphersComponent_6","View_CiphersComponent_7","View_CiphersComponent_8","View_CiphersComponent_9","View_CiphersComponent_10","View_CiphersComponent_3","View_CiphersComponent_14","View_CiphersComponent_12","View_CiphersComponent_13","View_CiphersComponent_2","View_CiphersComponent_11","View_CiphersComponent_1","View_GroupingsComponent_6","View_GroupingsComponent_5","View_GroupingsComponent_8","View_GroupingsComponent_4","View_GroupingsComponent_7","showFolders","showCollections","View_GroupingsComponent_1","View_GroupingsComponent_2","View_GroupingsComponent_3","showFavorites","View_GroupingsComponent_0","RenderType_GroupingsComponent","onAllClicked","onCipherTypeClicked","onCollectionClicked","View_CiphersComponent_0","RenderType_CiphersComponent","onCipherClicked","onAddCipher","View_VaultComponent_1","View_VaultComponent_2","View_VaultComponent_3","View_VaultComponent_4","View_OrganizationLayoutComponent_3","isOwner","View_OrganizationLayoutComponent_2","View_NavbarComponent_0","RenderType_NavbarComponent","View_OrganizationLayoutComponent_1","View_FooterComponent_0","RenderType_FooterComponent","View_BreachReportComponent_8","View_BreachReportComponent_7","View_BreachReportComponent_4","View_BreachReportComponent_5","View_BreachReportComponent_6","View_BreachReportComponent_2","View_BreachReportComponent_3","View_BreachReportComponent_1","copyOptions","showSelect","onSelected","avoidAmbiguous","sliderChanged","sliderInput","normalizeOptions","regenerate","toggleOptions","View_PasswordGeneratorComponent_1","onSaved","storedKeyHash","downloadFile","togglePassword","csv","baseImporter_1","importResult_1","ChamberName","parseData","SecretData","CustomData","line","delimPosition","fieldLower","PropertiesToIgnore","memo","kind","note","cardholder","expiryDate","expDate","document_content","loginNodes","loginNode","accountId","usernameText","passwordText","titleText","linkText","notesText","groupText","accountLogin","account","buildGroupText","parseFieldsToNotes","startIndex","labelEl","cardEl","labelIdEl","labelId","fieldEl","notesEl","Note","Pwd","passwordSafe","notesDelimiter","entries","entry","records","record","category","categoryText","accountName","attributes","attr","login_url","identifiers","valObj","getValue","tags","tag","addCollection","collectionIndex","View","view_1","IgnoredProperties","notesPlain","altUsername","openContents","faveIndex","typeName","secureContents","parseFields","sections","section","designationKey","valueKey","nameKey","fieldValue","fieldDesignation","fieldName","DisplayName","UserName","cipherIndex","grouping","buildBaseCipher","extra","parseSecureNote","parseCard","parseIdentity","ccnum","cardCipher","profilename","firstname","lastname","fav","ccname","cccsc","ccexp","ccexpParts","middlename","zip","extraParts","processedNote","typeParts","mappedData","parseSecureNoteMapping","Name on Card","Security Code","First Name","Last Name","Middle Name","Address 1","Address 2","Address 3","City / Town","Zip / Postal Code","Email Address","extraPart","fieldParts","Group","groupName","rootGroup","traverse","node","isRootNode","groupPrefixName","nameEl","entryString","valueEl","keyEl","keyRing","this_1","display_name","secret","username_value","firstRow","fieldNameLower","month","skip","currentVersion","actionType","labelLower","col","lastIndexOf","website","secondary_username","View_CreateOrganizationComponent_11","View_CreateOrganizationComponent_12","View_CreateOrganizationComponent_16","View_CreateOrganizationComponent_17","View_CreateOrganizationComponent_14","View_CreateOrganizationComponent_15","View_CreateOrganizationComponent_7","View_CreateOrganizationComponent_8","View_CreateOrganizationComponent_9","View_CreateOrganizationComponent_10","View_CreateOrganizationComponent_13","total","View_CreateOrganizationComponent_3","View_CreateOrganizationComponent_4","View_CreateOrganizationComponent_5","View_CreateOrganizationComponent_6","mt-4","View_CreateOrganizationComponent_1","View_CreateOrganizationComponent_2","View_UserBillingComponent_7","View_UserBillingComponent_8","View_UserBillingComponent_12","View_UserBillingComponent_10","View_UserBillingComponent_11","View_UserBillingComponent_14","View_UserBillingComponent_19","View_UserBillingComponent_20","View_UserBillingComponent_27","View_UserBillingComponent_16","View_UserBillingComponent_17","View_UserBillingComponent_18","View_UserBillingComponent_21","View_UserBillingComponent_22","View_UserBillingComponent_23","View_UserBillingComponent_24","View_UserBillingComponent_25","View_UserBillingComponent_26","View_UserBillingComponent_4","View_UserBillingComponent_5","View_UserBillingComponent_6","View_UserBillingComponent_9","View_UserBillingComponent_13","View_UserBillingComponent_15","View_UserBillingComponent_1","View_UserBillingComponent_2","View_UserBillingComponent_3","View_PremiumComponent_1","View_PremiumComponent_2","View_PremiumComponent_3","View_DomainRulesComponent_3","ngForTrackBy","table-list-strike","View_DomainRulesComponent_7","View_DomainRulesComponent_8","View_DomainRulesComponent_6","View_DomainRulesComponent_1","View_DomainRulesComponent_2","View_DomainRulesComponent_4","View_DomainRulesComponent_5","View_OptionsComponent_1","View_ChangeEmailComponent_1","View_ChangeEmailComponent_2","View_ChangeEmailComponent_3","View_ChangeEmailComponent_4","View_ProfileComponent_1","View_ProfileComponent_2","View_ProfileComponent_0","RenderType_ProfileComponent","View_ChangeEmailComponent_0","RenderType_ChangeEmailComponent","View_ChangePasswordComponent_0","RenderType_ChangePasswordComponent","View_SettingsComponent_2","hasUpdatedKey","canAccessAttachments","onCancelled","onEditAttachments","onGeneratePassword","addUri","removeUri","addField","removeField","toggleCardCode","toggleFieldValue","toggleUriOptions","loginUriMatchChanged","checkPassword","activeCipherId","onCipherRightClicked","onAddCipherOptions","selectCipher","rightClickCipher","addCipherOptions","LogLevelType","logLevelType_1","FallbackSrcDirective","onError","appFallbackSrc","onFavoritesClicked","onFolderClicked","onAddFolder","onEditFolder","setLoaded","clearSelections","selectFavorites","selectType","selectFolder","selectCollection","View_VerifyEmailComponent_0","RenderType_VerifyEmailComponent","View_OrganizationsComponent_0","RenderType_OrganizationsComponent","i20","i21","i22","View_VaultComponent_5","View_VaultComponent_6","View_VaultComponent_7","View_VaultComponent_8","View_VaultComponent_9","View_VaultComponent_10","View_VaultComponent_11","View_VaultComponent_12","View_VaultComponent_13","View_AcceptOrganizationComponent_1","View_AcceptOrganizationComponent_2","PasswordHintRequest","passwordHintRequest_1","RegisterRequest","registerRequest_1","confirmMasterPassword","hint","orgInvite","confirmField","View_RegisterComponent_1","successCallback","errorCallback","infoCallback","parseFunction","parseMessage","connectorLink","base64Encode","stop","sendMessage","contentWindow","postMessage","cleanup","validMessage","clientId","scope","deviceIdentifier","identifier","deviceName","twoFactorRemember","pushToken","DuoWebSDK","u2f_1","u2fReady","twoFactorEmail","loginRoute","customWebVaultUrl","cleanupU2f","challenges","Challenges","keyHandle","Signature","onSuccessfulLogin","doToast","backdrop","className","choose","recover","View_TwoFactorComponent_5","View_TwoFactorComponent_2","View_TwoFactorComponent_3","View_TwoFactorComponent_4","View_TwoFactorComponent_8","View_TwoFactorComponent_9","col-9","View_TwoFactorComponent_1","View_TwoFactorComponent_6","View_TwoFactorComponent_7","View_TwoFactorComponent_10","View_TwoFactorComponent_11","View_TwoFactorComponent_12","View_TwoFactorComponent_13","View_TwoFactorComponent_14","View_TwoFactorComponent_15","rememberEmail","twoFactorRoute","common_1","da_1","registerLocaleData","AppModule","enableProdMode","__NgCli_bootstrap_2","platformBrowser","bootstrapModuleFactory","__NgCli_bootstrap_1","AppModuleNgFactory"],"mappings":"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AAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,KAARD,EAAAC,EAAA,MAAQ,KACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,MAAQ,MAARD,EAAAC,EAAA,MAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA,OAAQ,MAARD,EAAAC,EAAA,OAAQ,MACRD,EAAAC,EAAA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","file":"app/main.d14101fcec5d9d14372b.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t3: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([936,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export abstract class I18nService {\r\n locale: string;\r\n supportedTranslationLocales: string[];\r\n translationLocale: string;\r\n collator: Intl.Collator;\r\n t: (id: string, p1?: string, p2?: string, p3?: string) => string;\r\n translate: (id: string, p1?: string, p2?: string, p3?: string) => string;\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { CollectionUserResponse } from '../models/response/collectionUserResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { GroupUserResponse } from '../models/response/groupUserResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationBillingResponse } from '../models/response/organizationBillingResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport { TwoFactorU2fResponse } from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nexport abstract class ApiService {\n urlsSet: boolean;\n apiBaseUrl: string;\n identityBaseUrl: string;\n\n setUrls: (urls: EnvironmentUrls) => void;\n postIdentityToken: (request: TokenRequest) => Promise;\n refreshIdentityToken: () => Promise;\n\n getProfile: () => Promise;\n getUserBilling: () => Promise;\n putProfile: (request: UpdateProfileRequest) => Promise;\n postEmailToken: (request: EmailTokenRequest) => Promise;\n postEmail: (request: EmailRequest) => Promise;\n postPassword: (request: PasswordRequest) => Promise;\n postSecurityStamp: (request: PasswordVerificationRequest) => Promise;\n deleteAccount: (request: PasswordVerificationRequest) => Promise;\n getAccountRevisionDate: () => Promise;\n postPasswordHint: (request: PasswordHintRequest) => Promise;\n postRegister: (request: RegisterRequest) => Promise;\n postPremium: (data: FormData) => Promise;\n postReinstatePremium: () => Promise;\n postCancelPremium: () => Promise;\n postAccountStorage: (request: StorageRequest) => Promise;\n postAccountPayment: (request: PaymentRequest) => Promise;\n postAccountLicense: (data: FormData) => Promise;\n postAccountKey: (request: UpdateKeyRequest) => Promise;\n postAccountKeys: (request: KeysRequest) => Promise;\n postAccountVerifyEmail: () => Promise;\n postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise;\n postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise;\n postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise;\n\n postFolder: (request: FolderRequest) => Promise;\n putFolder: (id: string, request: FolderRequest) => Promise;\n deleteFolder: (id: string) => Promise;\n\n getCipher: (id: string) => Promise;\n getCipherAdmin: (id: string) => Promise;\n getCiphersOrganization: (organizationId: string) => Promise>;\n postCipher: (request: CipherRequest) => Promise;\n postCipherAdmin: (request: CipherRequest) => Promise;\n putCipher: (id: string, request: CipherRequest) => Promise;\n putCipherAdmin: (id: string, request: CipherRequest) => Promise;\n deleteCipher: (id: string) => Promise;\n deleteCipherAdmin: (id: string) => Promise;\n deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\n putMoveCiphers: (request: CipherBulkMoveRequest) => Promise;\n putShareCipher: (id: string, request: CipherShareRequest) => Promise;\n putShareCiphers: (request: CipherBulkShareRequest) => Promise;\n putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise;\n putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise;\n postPurgeCiphers: (request: PasswordVerificationRequest) => Promise;\n postImportCiphers: (request: ImportCiphersRequest) => Promise;\n postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise;\n\n postCipherAttachment: (id: string, data: FormData) => Promise;\n postCipherAttachmentAdmin: (id: string, data: FormData) => Promise;\n deleteCipherAttachment: (id: string, attachmentId: string) => Promise;\n deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise;\n postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,\n organizationId: string) => Promise;\n\n getCollectionDetails: (organizationId: string, id: string) => Promise;\n getCollections: (organizationId: string) => Promise>;\n getCollectionUsers: (organizationId: string, id: string) => Promise>;\n postCollection: (organizationId: string, request: CollectionRequest) => Promise;\n putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise;\n deleteCollection: (organizationId: string, id: string) => Promise;\n deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getGroupDetails: (organizationId: string, id: string) => Promise;\n getGroups: (organizationId: string) => Promise>;\n getGroupUsers: (organizationId: string, id: string) => Promise>;\n postGroup: (organizationId: string, request: GroupRequest) => Promise;\n putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise;\n deleteGroup: (organizationId: string, id: string) => Promise;\n deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getOrganizationUser: (organizationId: string, id: string) => Promise;\n getOrganizationUserGroups: (organizationId: string, id: string) => Promise;\n getOrganizationUsers: (organizationId: string) => Promise>;\n postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise;\n postOrganizationUserReinvite: (organizationId: string, id: string) => Promise;\n postOrganizationUserAccept: (organizationId: string, id: string,\n request: OrganizationUserAcceptRequest) => Promise;\n postOrganizationUserConfirm: (organizationId: string, id: string,\n request: OrganizationUserConfirmRequest) => Promise;\n putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise;\n putOrganizationUserGroups: (organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest) => Promise;\n deleteOrganizationUser: (organizationId: string, id: string) => Promise;\n\n getSync: () => Promise;\n postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise;\n\n getSettingsDomains: () => Promise;\n putSettingsDomains: (request: UpdateDomainsRequest) => Promise;\n\n getTwoFactorProviders: () => Promise>;\n getTwoFactorOrganizationProviders: (organizationId: string) => Promise>;\n getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorOrganizationDuo: (organizationId: string,\n request: PasswordVerificationRequest) => Promise;\n getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise;\n putTwoFactorAuthenticator: (\n request: UpdateTwoFactorAuthenticatorRequest) => Promise;\n putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise;\n putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorOrganizationDuo: (organizationId: string,\n request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise;\n putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise;\n putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise;\n putTwoFactorOrganizationDisable: (organizationId: string,\n request: TwoFactorProviderRequest) => Promise;\n postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise;\n postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise;\n postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise;\n\n getOrganization: (id: string) => Promise;\n getOrganizationBilling: (id: string) => Promise;\n getOrganizationLicense: (id: string, installationId: string) => Promise;\n postOrganization: (request: OrganizationCreateRequest) => Promise;\n putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise;\n postLeaveOrganization: (id: string) => Promise;\n postOrganizationLicense: (data: FormData) => Promise;\n postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise;\n postOrganizationSeat: (id: string, request: SeatRequest) => Promise;\n postOrganizationStorage: (id: string, request: StorageRequest) => Promise;\n postOrganizationPayment: (id: string, request: PaymentRequest) => Promise;\n postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise;\n postOrganizationCancel: (id: string) => Promise;\n postOrganizationReinstate: (id: string) => Promise;\n deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise;\n\n getEvents: (start: string, end: string, token: string) => Promise>;\n getEventsCipher: (id: string, start: string, end: string, token: string) => Promise>;\n getEventsOrganization: (id: string, start: string, end: string,\n token: string) => Promise>;\n getEventsOrganizationUser: (organizationId: string, id: string,\n start: string, end: string, token: string) => Promise>;\n\n getUserPublicKey: (id: string) => Promise;\n\n fetch: (request: Request) => Promise;\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\r\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\r\n@Pipe({\n name: 'i18n',\n})\r\nexport class I18nPipe implements PipeTransform {\n constructor(private i18nService: I18nService) { }\n\r\n transform(id: string, p1?: string, p2?: string, p3?: string): string {\r\n return this.i18nService.t(id, p1, p2, p3);\r\n }\r\n}\n","import { DeviceType } from '../enums/deviceType';\n\nexport abstract class PlatformUtilsService {\n identityClientId: string;\n getDevice: () => DeviceType;\n getDeviceString: () => string;\n isFirefox: () => boolean;\n isChrome: () => boolean;\n isEdge: () => boolean;\n isOpera: () => boolean;\n isVivaldi: () => boolean;\n isSafari: () => boolean;\n isIE: () => boolean;\n isMacAppStore: () => boolean;\n analyticsId: () => string;\n getDomain: (uriString: string) => string;\n isViewOpen: () => boolean;\n lockTimeout: () => number;\n launchUri: (uri: string, options?: any) => void;\n saveFile: (win: Window, blobData: any, blobOptions: any, fileName: string) => void;\n getApplicationVersion: () => string;\n supportsU2f: (win: Window) => boolean;\n supportsDuo: () => boolean;\n showToast: (type: 'error' | 'success' | 'warning' | 'info', title: string, text: string) => void;\n showDialog: (text: string, title?: string, confirmText?: string, cancelText?: string,\n type?: string) => Promise;\n isDev: () => boolean;\n isSelfHost: () => boolean;\n copyToClipboard: (text: string, options?: any) => void;\n}\n","import { Injectable } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Injectable()\nexport class ValidationService {\n constructor(private toasterService: ToasterService, private i18nService: I18nService) { }\n\n showError(data: any): string[] {\n const defaultErrorMessage = this.i18nService.t('unexpectedError');\n const errors: string[] = [];\n\n if (data != null && typeof data === 'string') {\n errors.push(data);\n } else if (data == null || typeof data !== 'object') {\n errors.push(defaultErrorMessage);\n } else if (data.validationErrors == null) {\n errors.push(data.message ? data.message : defaultErrorMessage);\n } else {\n for (const key in data.validationErrors) {\n if (!data.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n\n data.validationErrors[key].forEach((item: string) => {\n errors.push(item);\n });\n }\n }\n\n if (errors.length > 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), errors[0]);\n }\n\n return errors;\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { ValidationService } from '../services/validation.service';\r\n\r\n@Directive({\r\n selector: '[appApiAction]',\r\n})\r\nexport class ApiActionDirective implements OnChanges {\r\n @Input() appApiAction: Promise;\n\n constructor(private el: ElementRef, private validationService: ValidationService) { }\n\n ngOnChanges(changes: any) {\n if (this.appApiAction == null || this.appApiAction.then == null) {\r\n return;\r\n }\n\n this.el.nativeElement.loading = true;\n\r\n this.appApiAction.then((response: any) => {\n this.el.nativeElement.loading = false;\n }, (e: any) => {\n this.el.nativeElement.loading = false;\n this.validationService.showError(e);\n });\r\n }\r\n}\n","import { CipherString } from '../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nexport abstract class CryptoService {\n setKey: (key: SymmetricCryptoKey) => Promise;\n setKeyHash: (keyHash: string) => Promise<{}>;\n setEncKey: (encKey: string) => Promise<{}>;\n setEncPrivateKey: (encPrivateKey: string) => Promise<{}>;\n setOrgKeys: (orgs: ProfileOrganizationResponse[]) => Promise<{}>;\n getKey: () => Promise;\n getKeyHash: () => Promise;\n getEncKey: () => Promise;\n getPublicKey: () => Promise;\n getPrivateKey: () => Promise;\n getOrgKeys: () => Promise>;\n getOrgKey: (orgId: string) => Promise;\n hasKey: () => Promise;\n hasEncKey: () => Promise;\n clearKey: () => Promise;\n clearKeyHash: () => Promise;\n clearEncKey: (memoryOnly?: boolean) => Promise;\n clearKeyPair: (memoryOnly?: boolean) => Promise;\n clearOrgKeys: (memoryOnly?: boolean) => Promise;\n clearKeys: () => Promise;\n toggleKey: () => Promise;\n makeKey: (password: string, salt: string) => Promise;\n makeShareKey: () => Promise<[CipherString, SymmetricCryptoKey]>;\n makeKeyPair: (key?: SymmetricCryptoKey) => Promise<[string, CipherString]>;\n hashPassword: (password: string, key: SymmetricCryptoKey) => Promise;\n makeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n encrypt: (plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n encryptToBytes: (plainValue: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey?: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n decryptToUtf8: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptFromBytes: (encBuf: ArrayBuffer, key: SymmetricCryptoKey) => Promise;\n randomNumber: (min: number, max: number) => Promise;\n}\n","import { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nexport abstract class UserService {\n userId: string;\n email: string;\n stamp: string;\n\n setUserIdAndEmail: (userId: string, email: string) => Promise;\n setSecurityStamp: (stamp: string) => Promise;\n getUserId: () => Promise;\n getEmail: () => Promise;\n getSecurityStamp: () => Promise;\n clear: () => Promise;\n isAuthenticated: () => Promise;\n getOrganization: (id: string) => Promise;\n getAllOrganizations: () => Promise;\n replaceOrganizations: (organizations: { [id: string]: OrganizationData; }) => Promise;\n clearOrganizations: (userId: string) => Promise;\n}\n","import { CipherType } from '../enums/cipherType';\n\nimport { CipherData } from '../models/data/cipherData';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Field } from '../models/domain/field';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { AttachmentView } from '../models/view/attachmentView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FieldView } from '../models/view/fieldView';\n\nexport abstract class CipherService {\n decryptedCipherCache: CipherView[];\n\n clearCache: () => void;\n encrypt: (model: CipherView, key?: SymmetricCryptoKey) => Promise;\n encryptFields: (fieldsModel: FieldView[], key: SymmetricCryptoKey) => Promise;\n encryptField: (fieldModel: FieldView, key: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n getAllDecryptedForGrouping: (groupingId: string, folder?: boolean) => Promise;\n getAllDecryptedForUrl: (url: string, includeOtherTypes?: CipherType[]) => Promise;\n getLastUsedForUrl: (url: string) => Promise;\n updateLastUsedDate: (id: string) => Promise;\n saveNeverDomain: (domain: string) => Promise;\n saveWithServer: (cipher: Cipher) => Promise;\n shareWithServer: (cipher: CipherView, organizationId: string, collectionIds: string[]) => Promise;\n shareManyWithServer: (ciphers: CipherView[], organizationId: string, collectionIds: string[]) => Promise;\n shareAttachmentWithServer: (attachmentView: AttachmentView, cipherId: string,\n organizationId: string) => Promise;\n saveAttachmentWithServer: (cipher: Cipher, unencryptedFile: any, admin?: boolean) => Promise;\n saveAttachmentRawWithServer: (cipher: Cipher, filename: string, data: ArrayBuffer,\n admin?: boolean) => Promise;\n saveCollectionsWithServer: (cipher: Cipher) => Promise;\n upsert: (cipher: CipherData | CipherData[]) => Promise;\n replace: (ciphers: { [id: string]: CipherData; }) => Promise;\n clear: (userId: string) => Promise;\n moveManyWithServer: (ids: string[], folderId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n deleteManyWithServer: (ids: string[]) => Promise;\n deleteAttachment: (id: string, attachmentId: string) => Promise;\n deleteAttachmentWithServer: (id: string, attachmentId: string) => Promise;\n sortCiphersByLastUsed: (a: any, b: any) => number;\n sortCiphersByLastUsedThenName: (a: any, b: any) => number;\n getLocaleSortingFunction: () => (a: CipherView, b: CipherView) => number;\n}\n","export abstract class MessagingService {\r\n send: (subscriber: string, arg?: any) => void;\r\n}\r\n","import { CipherView } from '../view/cipherView';\nimport { CollectionView } from '../view/collectionView';\nimport { FolderView } from '../view/folderView';\n\nexport class ImportResult {\n success = false;\n errorMessage: string;\n ciphers: CipherView[] = [];\n folders: FolderView[] = [];\n folderRelationships: Array<[number, number]> = [];\n collections: CollectionView[] = [];\n collectionRelationships: Array<[number, number]> = [];\n}\n","import * as papa from 'papaparse';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { LoginUriView } from '../models/view/loginUriView';\n\nimport { Utils } from '../misc/utils';\n\nimport { FieldView } from '../models/view/fieldView';\nimport { FolderView } from '../models/view/folderView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport abstract class BaseImporter {\n organization = false;\n\n protected newLineRegex = /(?:\\r\\n|\\r|\\n)/;\n\n protected passwordFieldNames = [\n 'password', 'pass word', 'passphrase', 'pass phrase',\n 'pass', 'code', 'code word', 'codeword',\n 'secret', 'secret word', 'personpwd',\n 'key', 'keyword', 'key word', 'keyphrase', 'key phrase',\n 'form_pw', 'wppassword', 'pin', 'pwd', 'pw', 'pword', 'passwd',\n 'p', 'serial', 'serial#', 'license key', 'reg #',\n\n // Non-English names\n 'passwort',\n ];\n\n protected usernameFieldNames = [\n 'user', 'name', 'user name', 'username', 'login name',\n 'email', 'e-mail', 'id', 'userid', 'user id',\n 'login', 'form_loginname', 'wpname', 'mail',\n 'loginid', 'login id', 'log', 'personlogin',\n 'first name', 'last name', 'card#', 'account #',\n 'member', 'member #',\n\n // Non-English names\n 'nom', 'benutzername',\n ];\n\n protected notesFieldNames = [\n 'note', 'notes', 'comment', 'comments', 'memo',\n 'description', 'free form', 'freeform',\n 'free text', 'freetext', 'free',\n\n // Non-English names\n 'kommentar',\n ];\n\n protected uriFieldNames: string[] = [\n 'url', 'hyper link', 'hyperlink', 'link',\n 'host', 'hostname', 'host name', 'server', 'address',\n 'hyper ref', 'href', 'web', 'website', 'web site', 'site',\n 'web-site', 'uri',\n\n // Non-English names\n 'ort', 'adresse',\n ];\n\n protected parseXml(data: string): Document {\n const parser = new DOMParser();\n const doc = parser.parseFromString(data, 'application/xml');\n return doc != null && doc.querySelector('parsererror') == null ? doc : null;\n }\n\n protected parseCsv(data: string, header: boolean): any[] {\n data = this.splitNewLine(data).join('\\n').trim();\n const result = papa.parse(data, {\n header: header,\n encoding: 'UTF-8',\n skipEmptyLines: false,\n });\n if (result.errors != null && result.errors.length > 0) {\n result.errors.forEach((e) => {\n // tslint:disable-next-line\n console.warn('Error parsing row ' + e.row + ': ' + e.message);\n });\n }\n return result.data && result.data.length > 0 ? result.data : null;\n }\n\n protected parseSingleRowCsv(rowData: string) {\n if (this.isNullOrWhitespace(rowData)) {\n return null;\n }\n const parsedRow = this.parseCsv(rowData, false);\n if (parsedRow != null && parsedRow.length > 0 && parsedRow[0].length > 0) {\n return parsedRow[0];\n }\n return null;\n }\n\n protected makeUriArray(uri: string | string[]): LoginUriView[] {\n if (uri == null) {\n return null;\n }\n\n if (typeof uri === 'string') {\n const loginUri = new LoginUriView();\n loginUri.uri = this.fixUri(uri);\n if (this.isNullOrWhitespace(loginUri.uri)) {\n return null;\n }\n loginUri.match = null;\n return [loginUri];\n }\n\n if (uri.length > 0) {\n const returnArr: LoginUriView[] = [];\n uri.forEach((u) => {\n const loginUri = new LoginUriView();\n loginUri.uri = this.fixUri(u);\n if (this.isNullOrWhitespace(loginUri.uri)) {\n return;\n }\n loginUri.match = null;\n returnArr.push(loginUri);\n });\n return returnArr.length === 0 ? null : returnArr;\n }\n\n return null;\n }\n\n protected fixUri(uri: string) {\n if (uri == null) {\n return null;\n }\n uri = uri.toLowerCase().trim();\n if (uri.indexOf('://') === -1 && uri.indexOf('.') >= 0) {\n uri = 'http://' + uri;\n }\n if (uri.length > 1000) {\n return uri.substring(0, 1000);\n }\n return uri;\n }\n\n protected nameFromUrl(url: string) {\n const hostname = Utils.getHostname(url);\n if (this.isNullOrWhitespace(hostname)) {\n return null;\n }\n return hostname.startsWith('www.') ? hostname.replace('www.', '') : hostname;\n }\n\n protected isNullOrWhitespace(str: string): boolean {\n return str == null || str.trim() === '';\n }\n\n protected getValueOrDefault(str: string, defaultValue: string = null): string {\n if (this.isNullOrWhitespace(str)) {\n return defaultValue;\n }\n return str;\n }\n\n protected splitNewLine(str: string): string[] {\n return str.split(this.newLineRegex);\n }\n\n // ref https://stackoverflow.com/a/5911300\n protected getCardBrand(cardNum: string) {\n if (this.isNullOrWhitespace(cardNum)) {\n return null;\n }\n\n // Visa\n let re = new RegExp('^4');\n if (cardNum.match(re) != null) {\n return 'Visa';\n }\n\n // Mastercard\n // Updated for Mastercard 2017 BINs expansion\n if (/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/\n .test(cardNum)) {\n return 'Mastercard';\n }\n\n // AMEX\n re = new RegExp('^3[47]');\n if (cardNum.match(re) != null) {\n return 'Amex';\n }\n\n // Discover\n re = new RegExp('^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)');\n if (cardNum.match(re) != null) {\n return 'Discover';\n }\n\n // Diners\n re = new RegExp('^36');\n if (cardNum.match(re) != null) {\n return 'Diners Club';\n }\n\n // Diners - Carte Blanche\n re = new RegExp('^30[0-5]');\n if (cardNum.match(re) != null) {\n return 'Diners Club';\n }\n\n // JCB\n re = new RegExp('^35(2[89]|[3-8][0-9])');\n if (cardNum.match(re) != null) {\n return 'JCB';\n }\n\n // Visa Electron\n re = new RegExp('^(4026|417500|4508|4844|491(3|7))');\n if (cardNum.match(re) != null) {\n return 'Visa';\n }\n\n return null;\n }\n\n protected moveFoldersToCollections(result: ImportResult) {\n result.folderRelationships.forEach((r) => result.collectionRelationships.push(r));\n result.collections = result.folders.map((f) => {\n const collection = new CollectionView();\n collection.name = f.name;\n return collection;\n });\n result.folderRelationships = [];\n result.folders = [];\n }\n\n protected querySelectorDirectChild(parentEl: Element, query: string) {\n const els = this.querySelectorAllDirectChild(parentEl, query);\n return els.length === 0 ? null : els[0];\n }\n\n protected querySelectorAllDirectChild(parentEl: Element, query: string) {\n return Array.from(parentEl.querySelectorAll(query)).filter((el) => el.parentNode === parentEl);\n }\n\n protected initLoginCipher() {\n const cipher = new CipherView();\n cipher.favorite = false;\n cipher.notes = '';\n cipher.fields = [];\n cipher.login = new LoginView();\n cipher.type = CipherType.Login;\n return cipher;\n }\n\n protected cleanupCipher(cipher: CipherView) {\n if (cipher == null) {\n return;\n }\n if (cipher.type !== CipherType.Login) {\n cipher.login = null;\n }\n if (this.isNullOrWhitespace(cipher.name)) {\n cipher.name = '--';\n }\n if (this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = null;\n } else {\n cipher.notes = cipher.notes.trim();\n }\n if (cipher.fields != null && cipher.fields.length === 0) {\n cipher.fields = null;\n }\n }\n\n protected processKvp(cipher: CipherView, key: string, value: string) {\n if (this.isNullOrWhitespace(value)) {\n return;\n }\n if (this.isNullOrWhitespace(key)) {\n key = '';\n }\n if (value.length > 200 || value.trim().search(this.newLineRegex) > -1) {\n if (cipher.notes == null) {\n cipher.notes = '';\n }\n cipher.notes += (key + ': ' + this.splitNewLine(value).join('\\n') + '\\n');\n } else {\n if (cipher.fields == null) {\n cipher.fields = [];\n }\n const field = new FieldView();\n field.type = FieldType.Text;\n field.name = key;\n field.value = value;\n cipher.fields.push(field);\n }\n }\n\n protected processFolder(result: ImportResult, folderName: string) {\n let folderIndex = result.folders.length;\n const hasFolder = !this.isNullOrWhitespace(folderName);\n let addFolder = hasFolder;\n\n if (hasFolder) {\n for (let i = 0; i < result.folders.length; i++) {\n if (result.folders[i].name === folderName) {\n addFolder = false;\n folderIndex = i;\n break;\n }\n }\n }\n\n if (addFolder) {\n const f = new FolderView();\n f.name = folderName;\n result.folders.push(f);\n }\n if (hasFolder) {\n result.folderRelationships.push([result.ciphers.length, folderIndex]);\n }\n }\n\n protected convertToNoteIfNeeded(cipher: CipherView) {\n if (cipher.type === CipherType.Login && this.isNullOrWhitespace(cipher.login.username) &&\n this.isNullOrWhitespace(cipher.login.password) &&\n (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n }\n}\n","export abstract class TokenService {\n token: string;\n decodedToken: any;\n refreshToken: string;\n setTokens: (accessToken: string, refreshToken: string) => Promise;\n setToken: (token: string) => Promise;\n getToken: () => Promise;\n setRefreshToken: (refreshToken: string) => Promise;\n getRefreshToken: () => Promise;\n setTwoFactorToken: (token: string, email: string) => Promise;\n getTwoFactorToken: (email: string) => Promise;\n clearTwoFactorToken: (email: string) => Promise;\n clearToken: () => Promise;\n decodeToken: () => any;\n getTokenExpirationDate: () => Date;\n tokenSecondsRemaining: (offsetSeconds?: number) => number;\n tokenNeedsRefresh: (minutes?: number) => boolean;\n getUserId: () => string;\n getEmail: () => string;\n getEmailVerified: () => boolean;\n getName: () => string;\n getPremium: () => boolean;\n getIssuer: () => string;\n}\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-callout',\r\n templateUrl: 'callout.component.html',\r\n})\r\nexport class CalloutComponent implements OnInit {\r\n @Input() type = 'info';\r\n @Input() icon: string;\r\n @Input() title: string;\r\n\r\n calloutStyle: string;\r\n\r\n constructor(private i18nService: I18nService) { }\r\n\r\n ngOnInit() {\r\n this.calloutStyle = this.type;\r\n\r\n if (this.type === 'warning' || this.type === 'danger') {\r\n if (this.type === 'danger') {\r\n this.calloutStyle = 'danger';\r\n }\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('warning');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-warning';\r\n }\r\n } else if (this.type === 'error') {\r\n this.calloutStyle = 'danger';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('error');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-bolt';\r\n }\r\n } else if (this.type === 'tip') {\r\n this.calloutStyle = 'success';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('tip');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-lightbulb-o';\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n

\r\n \r\n {{title}}\r\n

\r\n \r\n
\r\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nexport abstract class CollectionService {\n decryptedCollectionCache: CollectionView[];\n\n clearCache: () => void;\n encrypt: (model: CollectionView) => Promise;\n decryptMany: (collections: Collection[]) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n upsert: (collection: CollectionData | CollectionData[]) => Promise;\n replace: (collections: { [id: string]: CollectionData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appInputVerbatim]',\n})\nexport class InputVerbatimDirective {\n @Input() set appInputVerbatim(condition: boolean | string) {\n this.disableComplete = condition === '' || condition === true;\n }\n\n private disableComplete: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (this.disableComplete && !this.el.nativeElement.hasAttribute('autocomplete')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocomplete', 'off');\n }\n if (!this.el.nativeElement.hasAttribute('autocapitalize')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocapitalize', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('autocorrect')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocorrect', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('spellcheck')) {\n this.renderer.setAttribute(this.el.nativeElement, 'spellcheck', 'false');\n }\n if (!this.el.nativeElement.hasAttribute('inputmode')) {\n this.renderer.setAttribute(this.el.nativeElement, 'inputmode', 'verbatim');\n }\n }\n}\n","import { I18nService } from '../abstractions/i18n.service';\n\n// tslint:disable-next-line\nconst nodeURL = typeof window === 'undefined' ? require('url').URL : null;\n\nexport class Utils {\n static inited = false;\n static isNode = false;\n static isBrowser = true;\n static global: NodeJS.Global | Window = null;\n\n static init() {\n if (Utils.inited) {\n return;\n }\n\n Utils.inited = true;\n Utils.isNode = typeof process !== 'undefined' && (process as any).release != null &&\n (process as any).release.name === 'node';\n Utils.isBrowser = typeof window !== 'undefined';\n Utils.global = Utils.isNode && !Utils.isBrowser ? global : window;\n }\n\n static fromB64ToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'base64'));\n } else {\n const binaryString = window.atob(str);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n }\n }\n\n static fromHexToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'hex'));\n } else {\n const bytes = new Uint8Array(str.length / 2);\n for (let i = 0; i < str.length; i += 2) {\n bytes[i / 2] = parseInt(str.substr(i, 2), 16);\n }\n return bytes;\n }\n }\n\n static fromUtf8ToArray(str: string): Uint8Array {\n if (Utils.isNode) {\n return new Uint8Array(Buffer.from(str, 'utf8'));\n } else {\n const strUtf8 = unescape(encodeURIComponent(str));\n const arr = new Uint8Array(strUtf8.length);\n for (let i = 0; i < strUtf8.length; i++) {\n arr[i] = strUtf8.charCodeAt(i);\n }\n return arr;\n }\n }\n\n static fromByteStringToArray(str: string): Uint8Array {\n const arr = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n arr[i] = str.charCodeAt(i);\n }\n return arr;\n }\n\n static fromBufferToB64(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('base64');\n } else {\n let binary = '';\n const bytes = new Uint8Array(buffer);\n for (let i = 0; i < bytes.byteLength; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n }\n }\n\n static fromBufferToUtf8(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('utf8');\n } else {\n const bytes = new Uint8Array(buffer);\n const encodedString = String.fromCharCode.apply(null, bytes);\n return decodeURIComponent(escape(encodedString));\n }\n }\n\n static fromBufferToByteString(buffer: ArrayBuffer): string {\n return String.fromCharCode.apply(null, new Uint8Array(buffer));\n }\n\n // ref: https://stackoverflow.com/a/40031979/1090359\n static fromBufferToHex(buffer: ArrayBuffer): string {\n if (Utils.isNode) {\n return new Buffer(buffer).toString('hex');\n } else {\n const bytes = new Uint8Array(buffer);\n return Array.prototype.map.call(bytes, (x: number) => ('00' + x.toString(16)).slice(-2)).join('');\n }\n }\n\n static fromUrlB64ToUtf8(b64Str: string): string {\n let output = b64Str.replace(/-/g, '+').replace(/_/g, '/');\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += '==';\n break;\n case 3:\n output += '=';\n break;\n default:\n throw new Error('Illegal base64url string!');\n }\n\n return Utils.fromB64ToUtf8(output);\n }\n\n static fromB64ToUtf8(b64Str: string): string {\n if (Utils.isNode) {\n return new Buffer(b64Str, 'base64').toString('utf8');\n } else {\n return decodeURIComponent(escape(window.atob(b64Str)));\n }\n }\n\n // ref: http://stackoverflow.com/a/2117523/1090359\n static newGuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n // tslint:disable-next-line\n const r = Math.random() * 16 | 0;\n // tslint:disable-next-line\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n static getHostname(uriString: string): string {\n const url = Utils.getUrl(uriString);\n return url != null ? url.hostname : null;\n }\n\n static getHost(uriString: string): string {\n const url = Utils.getUrl(uriString);\n return url != null ? url.host : null;\n }\n\n static getSortFunction(i18nService: I18nService, prop: string) {\n return (a: any, b: any) => {\n if (a[prop] == null && b[prop] != null) {\n return -1;\n }\n if (a[prop] != null && b[prop] == null) {\n return 1;\n }\n if (a[prop] == null && b[prop] == null) {\n return 0;\n }\n\n return i18nService.collator ? i18nService.collator.compare(a[prop], b[prop]) :\n a[prop].localeCompare(b[prop]);\n };\n }\n\n private static getUrl(uriString: string): URL {\n if (uriString == null) {\n return null;\n }\n\n uriString = uriString.trim();\n if (uriString === '') {\n return null;\n }\n\n if (uriString.indexOf('://') === -1 && uriString.indexOf('.') > -1) {\n uriString = 'http://' + uriString;\n }\n\n if (uriString.startsWith('http://') || uriString.startsWith('https://')) {\n try {\n if (nodeURL != null) {\n return new nodeURL(uriString);\n } else if (typeof URL === 'function') {\n return new URL(uriString);\n } else if (window != null) {\n const anchor = window.document.createElement('a');\n anchor.href = uriString;\n return anchor as any;\n }\n } catch (e) { }\n }\n\n return null;\n }\n}\n\nUtils.init();\n","import { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport abstract class FolderService {\n decryptedFolderCache: FolderView[];\n\n clearCache: () => void;\n encrypt: (model: FolderView, key?: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n saveWithServer: (folder: Folder) => Promise;\n upsert: (folder: FolderData | FolderData[]) => Promise;\n replace: (folders: { [id: string]: FolderData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n}\n","export enum CipherType {\r\n Login = 1,\r\n SecureNote = 2,\r\n Card = 3,\r\n Identity = 4,\r\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopClick]',\r\n})\r\nexport class StopClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.preventDefault();\r\n }\r\n}\n","export abstract class StateService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n purge: () => Promise;\r\n}\r\n","export abstract class SyncService {\r\n syncInProgress: boolean;\n\r\n getLastSync: () => Promise;\r\n setLastSync: (date: Date) => Promise;\r\n syncStarted: () => void;\r\n syncCompleted: (successfully: boolean) => void;\r\n fullSync: (forceSync: boolean) => Promise;\r\n}\r\n","export class PasswordVerificationRequest {\n masterPasswordHash: string;\n}\n","export enum TwoFactorProviderType {\r\n Authenticator = 0,\r\n Email = 1,\r\n Duo = 2,\r\n Yubikey = 3,\n U2f = 4,\r\n Remember = 5,\r\n OrganizationDuo = 6,\r\n}\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\n\n@Directive({\n selector: '[appAutofocus]',\n})\nexport class AutofocusDirective {\n @Input() set appAutofocus(condition: boolean | string) {\n this.autofocus = condition === '' || condition === true;\n }\n\n private autofocus: boolean;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n if (this.autofocus) {\n this.el.nativeElement.focus();\n }\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { SecureNote } from '../domain/secureNote';\r\n\r\nexport class SecureNoteView implements View {\r\n type: SecureNoteType;\r\n\r\n constructor(n?: SecureNote) {\r\n if (!n) {\r\n return;\r\n }\r\n\r\n this.type = n.type;\r\n }\r\n\r\n get subTitle(): string {\r\n return null;\r\n }\r\n}\r\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopProp]',\r\n})\r\nexport class StopPropDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.stopPropagation();\r\n }\r\n}\n","import * as jq from 'jquery';\r\n\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent extends BaseModalComponent {\r\n el: any = null;\r\n\r\n constructor(componentFactoryResolver: ComponentFactoryResolver) {\r\n super(componentFactoryResolver);\r\n }\r\n\r\n ngOnDestroy() { /* Nothing */ }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal'));\r\n if (modals.length > 0) {\r\n this.el = jq(modals[0]);\r\n this.el.modal('show');\r\n\r\n this.el.on('show.bs.modal', () => {\r\n this.onShow.emit();\r\n });\r\n this.el.on('shown.bs.modal', () => {\r\n this.onShown.emit();\r\n this.el.find('*[appAutoFocus]').focus();\r\n });\r\n this.el.on('hide.bs.modal', () => {\r\n this.onClose.emit();\r\n });\r\n this.el.on('hidden.bs.modal', () => {\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n });\r\n }\r\n\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n if (this.el != null) {\r\n this.el.modal('hide');\r\n }\r\n }\r\n}\r\n","import { PasswordHistory } from '../models/domain/passwordHistory';\r\n\r\nexport abstract class PasswordGenerationService {\r\n generatePassword: (options: any) => Promise;\r\n getOptions: () => any;\r\n saveOptions: (options: any) => Promise;\r\n getHistory: () => Promise;\r\n addHistory: (password: string) => Promise;\r\n clear: () => Promise;\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\n\nexport abstract class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType;\n\n logIn: (email: string, masterPassword: string) => Promise;\n logInTwoFactor: (twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean) => Promise;\n logInComplete: (email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean) => Promise;\n logOut: (callback: Function) => void;\n getSupportedTwoFactorProviders: (win: Window) => any[];\n getDefaultTwoFactorProvider: (u2fSupported: boolean) => TwoFactorProviderType;\n}\n","import { CipherString } from './cipherString';\n\nimport { View } from '../view/view';\n\nexport default abstract class Domain {\n protected buildDomainModel(domain: D, dataObj: any, map: any,\n alreadyEncrypted: boolean, notEncList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = dataObj[(map[prop] || prop)];\n if (alreadyEncrypted === true || notEncList.indexOf(prop) > -1) {\n (domain as any)[prop] = objProp ? objProp : null;\n } else {\n (domain as any)[prop] = objProp ? new CipherString(objProp) : null;\n }\n }\n }\n protected buildDataModel(domain: D, dataObj: any, map: any, notCipherStringList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = (domain as any)[(map[prop] || prop)];\n if (notCipherStringList.indexOf(prop) > -1) {\n (dataObj as any)[prop] = objProp != null ? objProp : null;\n } else {\n (dataObj as any)[prop] = objProp != null ? (objProp as CipherString).encryptedString : null;\n }\n }\n }\n\n protected async decryptObj(viewModel: T, map: any, orgId: string): Promise {\n const promises = [];\n const self: any = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp) {\n const p = Promise.resolve().then(() => {\n const mapProp = map[theProp] || theProp;\n if (self[mapProp]) {\n return self[mapProp].decrypt(orgId);\n }\n return null;\n }).then((val: any) => {\n (viewModel as any)[theProp] = val;\n });\n promises.push(p);\n })(prop);\n }\n\n await Promise.all(promises);\n return viewModel;\n }\n}\n","export enum SecureNoteType {\r\n Generic = 0,\r\n}\r\n","export class ConstantsService {\r\n static readonly environmentUrlsKey: string = 'environmentUrls';\r\n static readonly disableGaKey: string = 'disableGa';\r\n static readonly disableAddLoginNotificationKey: string = 'disableAddLoginNotification';\r\n static readonly disableContextMenuItemKey: string = 'disableContextMenuItem';\r\n static readonly disableFaviconKey: string = 'disableFavicon';\r\n static readonly disableAutoTotpCopyKey: string = 'disableAutoTotpCopy';\r\n static readonly enableAutoFillOnPageLoadKey: string = 'enableAutoFillOnPageLoad';\r\n static readonly lockOptionKey: string = 'lockOption';\r\n static readonly lastActiveKey: string = 'lastActive';\r\n static readonly neverDomainsKey: string = 'neverDomains';\r\n static readonly installedVersionKey: string = 'installedVersion';\r\n static readonly localeKey: string = 'locale';\r\n static readonly themeKey: string = 'theme';\r\n\r\n readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey;\r\n readonly disableGaKey: string = ConstantsService.disableGaKey;\r\n readonly disableAddLoginNotificationKey: string = ConstantsService.disableAddLoginNotificationKey;\r\n readonly disableContextMenuItemKey: string = ConstantsService.disableContextMenuItemKey;\r\n readonly disableFaviconKey: string = ConstantsService.disableFaviconKey;\r\n readonly disableAutoTotpCopyKey: string = ConstantsService.disableAutoTotpCopyKey;\r\n readonly enableAutoFillOnPageLoadKey: string = ConstantsService.enableAutoFillOnPageLoadKey;\r\n readonly lockOptionKey: string = ConstantsService.lockOptionKey;\r\n readonly lastActiveKey: string = ConstantsService.lastActiveKey;\r\n readonly neverDomainsKey: string = ConstantsService.neverDomainsKey;\r\n readonly installedVersionKey: string = ConstantsService.installedVersionKey;\r\n readonly localeKey: string = ConstantsService.localeKey;\r\n readonly themeKey: string = ConstantsService.themeKey;\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\n\nimport { AttachmentData } from './attachmentData';\nimport { CardData } from './cardData';\nimport { FieldData } from './fieldData';\nimport { IdentityData } from './identityData';\nimport { LoginData } from './loginData';\nimport { SecureNoteData } from './secureNoteData';\n\nimport { CipherResponse } from '../response/cipherResponse';\n\nexport class CipherData {\n id: string;\n organizationId: string;\n folderId: string;\n userId: string;\n edit: boolean;\n organizationUseTotp: boolean;\n favorite: boolean;\n revisionDate: Date;\n type: CipherType;\n sizeName: string;\n name: string;\n notes: string;\n login?: LoginData;\n secureNote?: SecureNoteData;\n card?: CardData;\n identity?: IdentityData;\n fields?: FieldData[];\n attachments?: AttachmentData[];\n collectionIds?: string[];\n\n constructor(response?: CipherResponse, userId?: string, collectionIds?: string[]) {\n if (response == null) {\n return;\n }\n\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.folderId = response.folderId;\n this.userId = userId;\n this.edit = response.edit;\n this.organizationUseTotp = response.organizationUseTotp;\n this.favorite = response.favorite;\n this.revisionDate = response.revisionDate;\n this.type = response.type;\n this.name = response.name;\n this.notes = response.notes;\n\n if (collectionIds != null) {\n this.collectionIds = collectionIds;\n } else {\n this.collectionIds = response.collectionIds;\n }\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new LoginData(response.login);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNoteData(response.secureNote);\n break;\n case CipherType.Card:\n this.card = new CardData(response.card);\n break;\n case CipherType.Identity:\n this.identity = new IdentityData(response.identity);\n break;\n default:\n break;\n }\n\n if (response.fields != null) {\n this.fields = [];\n response.fields.forEach((field) => {\n this.fields.push(new FieldData(field));\n });\n }\n\n if (response.attachments != null) {\n this.attachments = [];\n response.attachments.forEach((attachment) => {\n this.attachments.push(new AttachmentData(attachment));\n });\n }\n }\n}\n","import { View } from './view';\r\n\r\nimport { Card } from '../domain/card';\r\n\r\nexport class CardView implements View {\r\n cardholderName: string;\r\n expMonth: string = null;\r\n expYear: string;\r\n code: string;\r\n\r\n // tslint:disable\r\n private _brand: string = null;\r\n private _number: string;\r\n private _subTitle: string;\r\n // tslint:enable\r\n\r\n constructor(c?: Card) {\r\n // ctor\r\n }\r\n\r\n get maskedCode(): string {\r\n return this.code != null ? '•'.repeat(this.code.length) : null;\r\n }\r\n\r\n get brand(): string {\r\n return this._brand;\r\n }\r\n set brand(value: string) {\r\n this._brand = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get number(): string {\r\n return this._number;\r\n }\r\n set number(value: string) {\r\n this._number = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null) {\r\n this._subTitle = this.brand;\r\n if (this.number != null && this.number.length >= 4) {\r\n if (this._subTitle != null && this._subTitle !== '') {\r\n this._subTitle += ', ';\r\n } else {\r\n this._subTitle = '';\r\n }\r\n this._subTitle += ('*' + this.number.substr(this.number.length - 4));\r\n }\r\n }\r\n return this._subTitle;\r\n }\r\n\r\n get expiration(): string {\r\n if (!this.expMonth && !this.expYear) {\r\n return null;\r\n }\r\n\r\n let exp = this.expMonth != null ? ('0' + this.expMonth).slice(-2) : '__';\r\n exp += (' / ' + (this.expYear != null ? this.formatYear(this.expYear) : '____'));\r\n return exp;\r\n }\r\n\r\n private formatYear(year: string): string {\r\n return year.length === 2 ? '20' + year : year;\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-avatar',\r\n template: '',\r\n})\r\nexport class AvatarComponent implements OnChanges, OnInit {\r\n @Input() data: string;\r\n @Input() width = 45;\r\n @Input() height = 45;\r\n @Input() charCount = 2;\r\n @Input() textColor = '#ffffff';\r\n @Input() fontSize = 20;\r\n @Input() fontWeight = 300;\r\n @Input() dynamic = false;\r\n @Input() circle = false;\r\n\r\n src: string;\r\n\r\n constructor(public sanitizer: DomSanitizer) { }\r\n\r\n ngOnInit() {\r\n if (!this.dynamic) {\r\n this.generate();\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.dynamic) {\r\n this.generate();\r\n }\r\n }\r\n\r\n private generate() {\r\n let chars: string = null;\r\n const upperData = this.data.toUpperCase();\r\n\r\n if (this.charCount > 1) {\r\n chars = this.getFirstLetters(upperData, this.charCount);\r\n }\r\n if (chars == null) {\r\n chars = upperData.substr(0, this.charCount);\r\n }\r\n\r\n const charObj = this.getCharText(chars);\r\n const color = this.stringToColor(upperData);\r\n const svg = this.getSvg(this.width, this.height, color);\r\n svg.appendChild(charObj);\r\n const html = window.document.createElement('div').appendChild(svg).outerHTML;\r\n const svgHtml = window.btoa(unescape(encodeURIComponent(html)));\r\n this.src = 'data:image/svg+xml;base64,' + svgHtml;\r\n }\r\n\r\n private stringToColor(str: string): string {\r\n let hash = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n // tslint:disable-next-line\r\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\r\n }\r\n let color = '#';\r\n for (let i = 0; i < 3; i++) {\r\n // tslint:disable-next-line\r\n const value = (hash >> (i * 8)) & 0xFF;\r\n color += ('00' + value.toString(16)).substr(-2);\r\n }\r\n return color;\r\n }\r\n\r\n private getFirstLetters(data: string, count: number): string {\r\n const parts = data.split(' ');\r\n if (parts.length > 1) {\r\n let text = '';\r\n for (let i = 0; i < count; i++) {\r\n text += parts[i].substr(0, 1);\r\n }\r\n return text;\r\n }\r\n return null;\r\n }\r\n\r\n private getSvg(width: number, height: number, color: string): HTMLElement {\r\n const svgTag = window.document.createElement('svg');\r\n svgTag.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\r\n svgTag.setAttribute('pointer-events', 'none');\r\n svgTag.setAttribute('width', width.toString());\r\n svgTag.setAttribute('height', height.toString());\r\n svgTag.style.backgroundColor = color;\r\n svgTag.style.width = width + 'px';\r\n svgTag.style.height = height + 'px';\r\n return svgTag;\r\n }\r\n\r\n private getCharText(character: string): HTMLElement {\r\n const textTag = window.document.createElement('text');\r\n textTag.setAttribute('text-anchor', 'middle');\r\n textTag.setAttribute('y', '50%');\r\n textTag.setAttribute('x', '50%');\r\n textTag.setAttribute('dy', '0.35em');\r\n textTag.setAttribute('pointer-events', 'auto');\r\n textTag.setAttribute('fill', this.textColor);\r\n textTag.setAttribute('font-family', '\"Open Sans\",\"Helvetica Neue\",Helvetica,Arial,' +\r\n 'sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"');\r\n textTag.textContent = character;\r\n textTag.style.fontWeight = this.fontWeight.toString();\r\n textTag.style.fontSize = this.fontSize + 'px';\r\n return textTag;\r\n }\r\n}\r\n","export abstract class StorageService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-two-factor-verify',\n templateUrl: 'two-factor-verify.component.html',\n})\nexport class TwoFactorVerifyComponent {\n @Input() type: TwoFactorProviderType;\n @Input() organizationId: string;\n @Output() onAuthed = new EventEmitter();\n\n masterPassword: string;\n formPromise: Promise;\n\n private masterPasswordHash: string;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private toasterService: ToasterService, private cryptoService: CryptoService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash =\n await this.cryptoService.hashPassword(this.masterPassword, null);\n\n try {\n switch (this.type) {\n case -1:\n this.formPromise = this.apiService.getTwoFactorRecover(request);\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n if (this.organizationId != null) {\n this.formPromise = this.apiService.getTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.getTwoFactorDuo(request);\n }\n break;\n case TwoFactorProviderType.Email:\n this.formPromise = this.apiService.getTwoFactorEmail(request);\n break;\n case TwoFactorProviderType.U2f:\n this.formPromise = this.apiService.getTwoFactorU2f(request);\n break;\n case TwoFactorProviderType.Authenticator:\n this.formPromise = this.apiService.getTwoFactorAuthenticator(request);\n break;\n case TwoFactorProviderType.Yubikey:\n this.formPromise = this.apiService.getTwoFactorYubiKey(request);\n break;\n }\n\n const response = await this.formPromise;\n this.onAuthed.emit({\n response: response,\n masterPasswordHash: this.masterPasswordHash,\n });\n } catch { }\n }\n}\n","import { CollectionDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionData {\n id: string;\n organizationId: string;\n name: string;\n readOnly: boolean;\n\n constructor(response: CollectionDetailsResponse) {\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.name = response.name;\n this.readOnly = response.readOnly;\n }\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nconst Keys = {\n stripeTest: 'pk_test_KPoCfZXu7mznb9uSCPZ2JpTD',\n stripeLive: 'pk_live_bpN0P37nMxrMQkcaHXtAybJk',\n btSandbox: 'sandbox_r72q8jq6_9pnxkwm75f87sdc2',\n btProduction: 'production_qfbsv8kc_njj2zjtyngtjmbjd',\n};\n\n@Component({\n selector: 'app-payment',\n templateUrl: 'payment.component.html',\n})\nexport class PaymentComponent implements OnInit {\n @Input() showOptions = true;\n @Input() method: 'card' | 'paypal' | 'bank' = 'card';\n @Input() hideBank = false;\n @Input() hidePaypal = false;\n\n card: any = {\n number: null,\n exp_month: null,\n exp_year: null,\n address_country: '',\n address_zip: null,\n };\n bank: any = {\n routing_number: null,\n account_number: null,\n account_holder_name: null,\n account_holder_type: '',\n currency: 'USD',\n country: 'US',\n };\n cardExpMonthOptions: any[];\n cardExpYearOptions: any[];\n\n private stripeScript: HTMLScriptElement;\n private btScript: HTMLScriptElement;\n private btInstance: any = null;\n\n constructor(i18nService: I18nService, private platformUtilsService: PlatformUtilsService) {\n this.stripeScript = window.document.createElement('script');\n this.stripeScript.src = 'https://js.stripe.com/v2/';\n this.stripeScript.async = true;\n this.stripeScript.onload = () => {\n (window as any).Stripe.setPublishableKey(\n this.platformUtilsService.isDev() ? Keys.stripeTest : Keys.stripeLive);\n };\n this.btScript = window.document.createElement('script');\n this.btScript.src = 'https://js.braintreegateway.com/web/dropin/1.4.0/js/dropin.min.js';\n this.btScript.async = true;\n\n this.cardExpMonthOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: '01 - ' + i18nService.t('january'), value: '01' },\n { name: '02 - ' + i18nService.t('february'), value: '02' },\n { name: '03 - ' + i18nService.t('march'), value: '03' },\n { name: '04 - ' + i18nService.t('april'), value: '04' },\n { name: '05 - ' + i18nService.t('may'), value: '05' },\n { name: '06 - ' + i18nService.t('june'), value: '06' },\n { name: '07 - ' + i18nService.t('july'), value: '07' },\n { name: '08 - ' + i18nService.t('august'), value: '08' },\n { name: '09 - ' + i18nService.t('september'), value: '09' },\n { name: '10 - ' + i18nService.t('october'), value: '10' },\n { name: '11 - ' + i18nService.t('november'), value: '11' },\n { name: '12 - ' + i18nService.t('december'), value: '12' },\n ];\n\n this.cardExpYearOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n ];\n const year = (new Date()).getFullYear();\n for (let i = year; i < (year + 15); i++) {\n this.cardExpYearOptions.push({ name: i.toString(), value: i.toString().slice(-2) });\n }\n }\n\n ngOnInit() {\n if (!this.showOptions) {\n this.hidePaypal = this.method !== 'paypal';\n this.hideBank = this.method !== 'bank';\n }\n window.document.head.appendChild(this.stripeScript);\n if (!this.hidePaypal) {\n window.document.head.appendChild(this.btScript);\n }\n }\n\n ngOnDestroy() {\n window.document.head.removeChild(this.stripeScript);\n Array.from(window.document.querySelectorAll('iframe')).forEach((el) => {\n if (el.src != null && el.src.indexOf('stripe') > -1) {\n window.document.body.removeChild(el);\n }\n });\n if (!this.hidePaypal) {\n window.document.head.removeChild(this.btScript);\n const btStylesheet = window.document.head.querySelector('#braintree-dropin-stylesheet');\n if (btStylesheet != null) {\n window.document.head.removeChild(btStylesheet);\n }\n }\n }\n\n changeMethod() {\n if (this.method !== 'paypal') {\n this.btInstance = null;\n return;\n }\n\n window.setTimeout(() => {\n (window as any).braintree.dropin.create({\n authorization: this.platformUtilsService.isDev() ? Keys.btSandbox : Keys.btProduction,\n container: '#bt-dropin-container',\n paymentOptionPriority: ['paypal'],\n paypal: {\n flow: 'vault',\n buttonStyle: {\n label: 'pay',\n size: 'medium',\n shape: 'pill',\n color: 'blue',\n },\n },\n }, (createErr: any, instance: any) => {\n if (createErr != null) {\n // tslint:disable-next-line\n console.error(createErr);\n return;\n }\n this.btInstance = instance;\n });\n }, 250);\n }\n\n createPaymentToken(): Promise {\n return new Promise((resolve, reject) => {\n if (this.method === 'paypal') {\n this.btInstance.requestPaymentMethod().then((payload: any) => {\n resolve(payload.nonce);\n }).catch((err: any) => {\n reject(err.message);\n });\n } else if (this.method === 'card' || this.method === 'bank') {\n const createObj: any = this.method === 'card' ? (window as any).Stripe.card :\n (window as any).Stripe.bankAccount;\n const sourceObj = this.method === 'card' ? this.card : this.bank;\n createObj.createToken(sourceObj, (status: number, response: any) => {\n if (status === 200 && response.id != null) {\n resolve(response.id);\n } else if (response.error != null) {\n reject(response.error.message);\n } else {\n reject();\n }\n });\n }\n });\n }\n\n getCountry(): string {\n return this.card.address_country;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Folder } from '../domain/folder';\r\n\r\nexport class FolderView implements View {\r\n id: string = null;\r\n name: string;\r\n\r\n constructor(f?: Folder) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.id = f.id;\r\n }\r\n}\r\n","import { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nexport abstract class AuditService {\n passwordLeaked: (password: string) => Promise;\n breachedAccounts: (username: string) => Promise;\n}\n","","export abstract class EnvironmentService {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n\n getWebVaultUrl: () => string;\n setUrlsFromStorage: () => Promise;\n setUrls: (urls: any) => Promise;\n}\n","
\n
\n

{{'twoStepLoginAuthDesc' | i18n}}

\n \n \n
\n
\n \n \n
\n
\n","import { CipherType } from '../../enums/cipherType';\n\nimport { CipherData } from '../data/cipherData';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Attachment } from './attachment';\nimport { Card } from './card';\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { SecureNote } from './secureNote';\n\nexport class Cipher extends Domain {\n id: string;\n organizationId: string;\n folderId: string;\n name: CipherString;\n notes: CipherString;\n type: CipherType;\n favorite: boolean;\n organizationUseTotp: boolean;\n edit: boolean;\n revisionDate: Date;\n localData: any;\n login: Login;\n identity: Identity;\n card: Card;\n secureNote: SecureNote;\n attachments: Attachment[];\n fields: Field[];\n collectionIds: string[];\n\n constructor(obj?: CipherData, alreadyEncrypted: boolean = false, localData: any = null) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n userId: null,\n organizationId: null,\n folderId: null,\n name: null,\n notes: null,\n }, alreadyEncrypted, ['id', 'userId', 'organizationId', 'folderId']);\n\n this.type = obj.type;\n this.favorite = obj.favorite;\n this.organizationUseTotp = obj.organizationUseTotp;\n this.edit = obj.edit;\n this.revisionDate = obj.revisionDate;\n this.collectionIds = obj.collectionIds;\n this.localData = localData;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new Login(obj.login, alreadyEncrypted);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNote(obj.secureNote, alreadyEncrypted);\n break;\n case CipherType.Card:\n this.card = new Card(obj.card, alreadyEncrypted);\n break;\n case CipherType.Identity:\n this.identity = new Identity(obj.identity, alreadyEncrypted);\n break;\n default:\n break;\n }\n\n if (obj.attachments != null) {\n this.attachments = [];\n obj.attachments.forEach((attachment) => {\n this.attachments.push(new Attachment(attachment, alreadyEncrypted));\n });\n } else {\n this.attachments = null;\n }\n\n if (obj.fields != null) {\n this.fields = [];\n obj.fields.forEach((field) => {\n this.fields.push(new Field(field, alreadyEncrypted));\n });\n } else {\n this.fields = null;\n }\n }\n\n async decrypt(): Promise {\n const model = new CipherView(this);\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, this.organizationId);\n\n switch (this.type) {\n case CipherType.Login:\n model.login = await this.login.decrypt(this.organizationId);\n break;\n case CipherType.SecureNote:\n model.secureNote = await this.secureNote.decrypt(this.organizationId);\n break;\n case CipherType.Card:\n model.card = await this.card.decrypt(this.organizationId);\n break;\n case CipherType.Identity:\n model.identity = await this.identity.decrypt(this.organizationId);\n break;\n default:\n break;\n }\n\n const orgId = this.organizationId;\n\n if (this.attachments != null && this.attachments.length > 0) {\n const attachments: any[] = [];\n await this.attachments.reduce((promise, attachment) => {\n return promise.then(() => {\n return attachment.decrypt(orgId);\n }).then((decAttachment) => {\n attachments.push(decAttachment);\n });\n }, Promise.resolve());\n model.attachments = attachments;\n }\n\n if (this.fields != null && this.fields.length > 0) {\n const fields: any[] = [];\n await this.fields.reduce((promise, field) => {\n return promise.then(() => {\n return field.decrypt(orgId);\n }).then((decField) => {\n fields.push(decField);\n });\n }, Promise.resolve());\n model.fields = fields;\n }\n\n return model;\n }\n\n toCipherData(userId: string): CipherData {\n const c = new CipherData();\n c.id = this.id;\n c.organizationId = this.organizationId;\n c.folderId = this.folderId;\n c.userId = this.organizationId != null ? userId : null;\n c.edit = this.edit;\n c.organizationUseTotp = this.organizationUseTotp;\n c.favorite = this.favorite;\n c.revisionDate = this.revisionDate;\n c.type = this.type;\n c.collectionIds = this.collectionIds;\n\n this.buildDataModel(this, c, {\n name: null,\n notes: null,\n });\n\n switch (c.type) {\n case CipherType.Login:\n c.login = this.login.toLoginData();\n break;\n case CipherType.SecureNote:\n c.secureNote = this.secureNote.toSecureNoteData();\n break;\n case CipherType.Card:\n c.card = this.card.toCardData();\n break;\n case CipherType.Identity:\n c.identity = this.identity.toIdentityData();\n break;\n default:\n break;\n }\n\n if (this.fields != null) {\n c.fields = [];\n this.fields.forEach((field) => {\n c.fields.push(field.toFieldData());\n });\n }\n\n if (this.attachments != null) {\n c.attachments = [];\n this.attachments.forEach((attachment) => {\n c.attachments.push(attachment.toAttachmentData());\n });\n }\n return c;\n }\n}\n","import { CollectionData } from '../data/collectionData';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class Collection extends Domain {\n id: string;\n organizationId: string;\n name: CipherString;\n readOnly: boolean;\n\n constructor(obj?: CollectionData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n organizationId: null,\n name: null,\n readOnly: null,\n }, alreadyEncrypted, ['id', 'organizationId', 'readOnly']);\n }\n\n decrypt(): Promise {\n return this.decryptObj(new CollectionView(this), {\n name: null,\n }, this.organizationId);\n }\n}\n","import { LoginUriView } from './loginUriView';\r\nimport { View } from './view';\r\n\r\nimport { Login } from '../domain/login';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class LoginView implements View {\r\n username: string;\r\n password: string;\r\n totp: string;\r\n uris: LoginUriView[];\r\n\r\n constructor(l?: Login) {\r\n // ctor\r\n }\r\n\r\n get uri(): string {\r\n return this.hasUris ? this.uris[0].uri : null;\r\n }\r\n\r\n get maskedPassword(): string {\r\n return this.password != null ? '••••••••' : null;\r\n }\r\n\r\n get subTitle(): string {\r\n return this.username;\r\n }\r\n\r\n get canLaunch(): boolean {\r\n return this.hasUris && this.uris[0].canLaunch;\r\n }\r\n\r\n get hasUris(): boolean {\r\n return this.uris != null && this.uris.length > 0;\r\n }\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\n\nimport { Cipher } from '../domain/cipher';\n\nimport { AttachmentView } from './attachmentView';\nimport { CardView } from './cardView';\nimport { FieldView } from './fieldView';\nimport { IdentityView } from './identityView';\nimport { LoginView } from './loginView';\nimport { SecureNoteView } from './secureNoteView';\nimport { View } from './view';\n\nexport class CipherView implements View {\n id: string;\n organizationId: string;\n folderId: string;\n name: string;\n notes: string;\n type: CipherType;\n favorite = false;\n organizationUseTotp = false;\n edit = false;\n localData: any;\n login: LoginView;\n identity: IdentityView;\n card: CardView;\n secureNote: SecureNoteView;\n attachments: AttachmentView[];\n fields: FieldView[];\n collectionIds: string[];\n\n constructor(c?: Cipher) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.folderId = c.folderId;\n this.favorite = c.favorite;\n this.organizationUseTotp = c.organizationUseTotp;\n this.edit = c.edit;\n this.type = c.type;\n this.localData = c.localData;\n this.collectionIds = c.collectionIds;\n }\n\n get subTitle(): string {\n switch (this.type) {\n case CipherType.Login:\n return this.login.subTitle;\n case CipherType.SecureNote:\n return this.secureNote.subTitle;\n case CipherType.Card:\n return this.card.subTitle;\n case CipherType.Identity:\n return this.identity.subTitle;\n default:\n break;\n }\n\n return null;\n }\n\n get hasAttachments(): boolean {\n return this.attachments && this.attachments.length > 0;\n }\n\n get hasFields(): boolean {\n return this.fields && this.fields.length > 0;\n }\n\n get login_username(): string {\n return this.login != null ? this.login.username : null;\n }\n}\n","import { CipherType } from '../../enums/cipherType';\n\nimport { Cipher } from '../domain/cipher';\n\nimport { CardApi } from '../api/cardApi';\nimport { FieldApi } from '../api/fieldApi';\nimport { IdentityApi } from '../api/identityApi';\nimport { LoginApi } from '../api/loginApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class CipherRequest {\n type: CipherType;\n folderId: string;\n organizationId: string;\n name: string;\n notes: string;\n favorite: boolean;\n login: LoginApi;\n secureNote: SecureNoteApi;\n card: CardApi;\n identity: IdentityApi;\n fields: FieldApi[];\n attachments: { [id: string]: string; };\n\n constructor(cipher: Cipher) {\n this.type = cipher.type;\n this.folderId = cipher.folderId;\n this.organizationId = cipher.organizationId;\n this.name = cipher.name ? cipher.name.encryptedString : null;\n this.notes = cipher.notes ? cipher.notes.encryptedString : null;\n this.favorite = cipher.favorite;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = {\n uris: null,\n username: cipher.login.username ? cipher.login.username.encryptedString : null,\n password: cipher.login.password ? cipher.login.password.encryptedString : null,\n totp: cipher.login.totp ? cipher.login.totp.encryptedString : null,\n };\n\n if (cipher.login.uris) {\n this.login.uris = [];\n cipher.login.uris.forEach((u) => {\n this.login.uris.push({\n uri: u.uri ? u.uri.encryptedString : null,\n match: u.match != null ? u.match : null,\n });\n });\n }\n break;\n case CipherType.SecureNote:\n this.secureNote = {\n type: cipher.secureNote.type,\n };\n break;\n case CipherType.Card:\n this.card = {\n cardholderName: cipher.card.cardholderName ? cipher.card.cardholderName.encryptedString : null,\n brand: cipher.card.brand ? cipher.card.brand.encryptedString : null,\n number: cipher.card.number ? cipher.card.number.encryptedString : null,\n expMonth: cipher.card.expMonth ? cipher.card.expMonth.encryptedString : null,\n expYear: cipher.card.expYear ? cipher.card.expYear.encryptedString : null,\n code: cipher.card.code ? cipher.card.code.encryptedString : null,\n };\n break;\n case CipherType.Identity:\n this.identity = {\n title: cipher.identity.title ? cipher.identity.title.encryptedString : null,\n firstName: cipher.identity.firstName ? cipher.identity.firstName.encryptedString : null,\n middleName: cipher.identity.middleName ? cipher.identity.middleName.encryptedString : null,\n lastName: cipher.identity.lastName ? cipher.identity.lastName.encryptedString : null,\n address1: cipher.identity.address1 ? cipher.identity.address1.encryptedString : null,\n address2: cipher.identity.address2 ? cipher.identity.address2.encryptedString : null,\n address3: cipher.identity.address3 ? cipher.identity.address3.encryptedString : null,\n city: cipher.identity.city ? cipher.identity.city.encryptedString : null,\n state: cipher.identity.state ? cipher.identity.state.encryptedString : null,\n postalCode: cipher.identity.postalCode ? cipher.identity.postalCode.encryptedString : null,\n country: cipher.identity.country ? cipher.identity.country.encryptedString : null,\n company: cipher.identity.company ? cipher.identity.company.encryptedString : null,\n email: cipher.identity.email ? cipher.identity.email.encryptedString : null,\n phone: cipher.identity.phone ? cipher.identity.phone.encryptedString : null,\n ssn: cipher.identity.ssn ? cipher.identity.ssn.encryptedString : null,\n username: cipher.identity.username ? cipher.identity.username.encryptedString : null,\n passportNumber: cipher.identity.passportNumber ?\n cipher.identity.passportNumber.encryptedString : null,\n licenseNumber: cipher.identity.licenseNumber ? cipher.identity.licenseNumber.encryptedString : null,\n };\n break;\n default:\n break;\n }\n\n if (cipher.fields) {\n this.fields = [];\n cipher.fields.forEach((field) => {\n this.fields.push({\n type: field.type,\n name: field.name ? field.name.encryptedString : null,\n value: field.value ? field.value.encryptedString : null,\n });\n });\n }\n\n if (cipher.attachments) {\n this.attachments = {};\n cipher.attachments.forEach((attachment) => {\n this.attachments[attachment.id] = attachment.fileName ? attachment.fileName.encryptedString : null;\n });\n }\n }\n}\n","export enum DeviceType {\n Android = 0,\n iOS = 1,\n ChromeExtension = 2,\n FirefoxExtension = 3,\n OperaExtension = 4,\n EdgeExtension = 5,\n WindowsDesktop = 6,\n MacOsDesktop = 7,\n LinuxDesktop = 8,\n ChromeBrowser = 9,\n FirefoxBrowser = 10,\n OperaBrowser = 11,\n EdgeBrowser = 12,\n IEBrowser = 13,\n UnknownBrowser = 14,\n AndroidAmazon = 15,\n UWP = 16,\n SafariBrowser = 17,\n VivaldiBrowser = 18,\n VivaldiExtension = 19,\n SafariExtension = 20,\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class BroadcasterService {\n subscribers: Map any> = new Map any>();\n\n send(message: any, id?: string) {\n if (id != null) {\n if (this.subscribers.has(id)) {\n this.subscribers.get(id)(message);\r\n }\n return;\r\n }\n\n this.subscribers.forEach((value) => {\n value(message);\n });\r\n }\n\n subscribe(id: string, messageCallback: (message: any) => any) {\n if (this.subscribers.has(id)) {\n return;\r\n }\n\n this.subscribers.set(id, messageCallback);\r\n }\n\n unsubscribe(id: string) {\n if (this.subscribers.has(id)) {\n this.subscribers.delete(id);\r\n }\r\n }\n}\r\n","export enum OrganizationUserType {\n Owner = 0,\n Admin = 1,\n User = 2,\n}\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\n\n@Injectable()\nexport class EventService {\n constructor(private i18nService: I18nService) { }\n\n getDefaultDateFilters() {\n const d = new Date();\n const end = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59);\n d.setDate(d.getDate() - 30);\n const start = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0);\n return [this.toDateTimeLocalString(start), this.toDateTimeLocalString(end)];\n }\n\n formatDateFilters(filterStart: string, filterEnd: string) {\n const start: Date = new Date(filterStart);\n const end: Date = new Date(filterEnd + ':59.999');\n if (isNaN(start.getTime()) || isNaN(end.getTime()) || end < start) {\n throw new Error('Invalid date range.');\n }\n return [start.toISOString(), end.toISOString()];\n }\n\n getEventInfo(ev: EventResponse, options = new EventOptions()): EventInfo {\n const appInfo = this.getAppInfo(ev.deviceType);\n return {\n message: this.getEventMessage(ev, options),\n appIcon: appInfo[0],\n appName: appInfo[1],\n };\n }\n\n private getEventMessage(ev: EventResponse, options: EventOptions) {\n let msg = '';\n switch (ev.type) {\n // User\n case EventType.User_LoggedIn:\n msg = this.i18nService.t('loggedIn');\n break;\n case EventType.User_ChangedPassword:\n msg = this.i18nService.t('changedPassword');\n break;\n case EventType.User_Enabled2fa:\n msg = this.i18nService.t('enabled2fa');\n break;\n case EventType.User_Disabled2fa:\n msg = this.i18nService.t('disabled2fa');\n break;\n case EventType.User_Recovered2fa:\n msg = this.i18nService.t('recovered2fa');\n break;\n case EventType.User_FailedLogIn:\n msg = this.i18nService.t('failedLogin');\n break;\n case EventType.User_FailedLogIn2fa:\n msg = this.i18nService.t('failedLogin2fa');\n break;\n // Cipher\n case EventType.Cipher_Created:\n msg = this.i18nService.t('createdItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Updated:\n msg = this.i18nService.t('editedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Deleted:\n msg = this.i18nService.t('deletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentCreated:\n msg = this.i18nService.t('createdAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentDeleted:\n msg = this.i18nService.t('deletedAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Shared:\n msg = this.i18nService.t('sharedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_UpdatedCollections:\n msg = this.i18nService.t('editedCollectionsForItem', this.formatCipherId(ev, options));\n break;\n // Collection\n case EventType.Collection_Created:\n msg = this.i18nService.t('createdCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Updated:\n msg = this.i18nService.t('editedCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Deleted:\n msg = this.i18nService.t('deletedCollectionId', this.formatCollectionId(ev));\n break;\n // Group\n case EventType.Group_Created:\n msg = this.i18nService.t('createdGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Updated:\n msg = this.i18nService.t('editedGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Deleted:\n msg = this.i18nService.t('deletedGroupId', this.formatGroupId(ev));\n break;\n // Org user\n case EventType.OrganizationUser_Invited:\n msg = this.i18nService.t('invitedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Confirmed:\n msg = this.i18nService.t('confirmedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Updated:\n msg = this.i18nService.t('editedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Removed:\n msg = this.i18nService.t('removedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_UpdatedGroups:\n msg = this.i18nService.t('editedGroupsForUser', this.formatOrgUserId(ev));\n break;\n // Org\n case EventType.Organization_Updated:\n msg = this.i18nService.t('editedOrgSettings');\n break;\n default:\n break;\n }\n return msg === '' ? null : msg;\n }\n\n private getAppInfo(deviceType: DeviceType): [string, string] {\n switch (deviceType) {\n case DeviceType.Android:\n return ['fa-android', this.i18nService.t('mobile') + ' - Android'];\n case DeviceType.iOS:\n return ['fa-apple', this.i18nService.t('mobile') + ' - iOS'];\n case DeviceType.UWP:\n return ['fa-windows', this.i18nService.t('mobile') + ' - Windows'];\n case DeviceType.ChromeExtension:\n return ['fa-chrome', this.i18nService.t('extension') + ' - Chrome'];\n case DeviceType.FirefoxExtension:\n return ['fa-firefox', this.i18nService.t('extension') + ' - Firefox'];\n case DeviceType.OperaExtension:\n return ['fa-opera', this.i18nService.t('extension') + ' - Opera'];\n case DeviceType.EdgeExtension:\n return ['fa-edge', this.i18nService.t('extension') + ' - Edge'];\n case DeviceType.VivaldiExtension:\n return ['fa-puzzle-piece', this.i18nService.t('extension') + ' - Vivaldi'];\n case DeviceType.SafariExtension:\n return ['fa-safari', this.i18nService.t('extension') + ' - Safari'];\n case DeviceType.WindowsDesktop:\n return ['fa-windows', this.i18nService.t('desktop') + ' - Windows'];\n case DeviceType.MacOsDesktop:\n return ['fa-apple', this.i18nService.t('desktop') + ' - macOS'];\n case DeviceType.LinuxDesktop:\n return ['fa-linux', this.i18nService.t('desktop') + ' - Linux'];\n case DeviceType.ChromeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Chrome'];\n case DeviceType.FirefoxBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Firefox'];\n case DeviceType.OperaBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Opera'];\n case DeviceType.SafariBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Safari'];\n case DeviceType.VivaldiBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Vivaldi'];\n case DeviceType.EdgeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Edge'];\n case DeviceType.IEBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - IE'];\n case DeviceType.UnknownBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - ' + this.i18nService.t('unknown')];\n default:\n return ['fa-globe', this.i18nService.t('unknown')];\n }\n }\n\n private formatCipherId(ev: EventResponse, options: EventOptions) {\n const shortId = this.getShortId(ev.cipherId);\n if (ev.organizationId == null || !options.cipherInfo) {\n return '' + shortId + '';\n }\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/vault?search=' + shortId +\n '&viewEvents=' + ev.cipherId);\n return a.outerHTML;\n }\n\n private formatGroupId(ev: EventResponse) {\n const shortId = this.getShortId(ev.groupId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/groups?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatCollectionId(ev: EventResponse) {\n const shortId = this.getShortId(ev.collectionId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/collections?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatOrgUserId(ev: EventResponse) {\n const shortId = this.getShortId(ev.organizationUserId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/people?search=' + shortId +\n '&viewEvents=' + ev.organizationUserId);\n return a.outerHTML;\n }\n\n private makeAnchor(shortId: string) {\n const a = document.createElement('a');\n a.title = this.i18nService.t('view');\n a.innerHTML = '' + shortId + '';\n return a;\n }\n\n private getShortId(id: string) {\n return id.substring(0, 8);\n }\n\n private toDateTimeLocalString(date: Date) {\n return date.getFullYear() +\n '-' + this.pad(date.getMonth() + 1) +\n '-' + this.pad(date.getDate()) +\n 'T' + this.pad(date.getHours()) +\n ':' + this.pad(date.getMinutes());\n }\n\n private pad(num: number) {\n const norm = Math.floor(Math.abs(num));\n return (norm < 10 ? '0' : '') + norm;\n }\n}\n\nexport class EventInfo {\n message: string;\n appIcon: string;\n appName: string;\n}\n\nexport class EventOptions {\n cipherInfo = true;\n}\n","export abstract class ExportService {\n getExport: (format?: 'csv' | 'json') => Promise;\n getOrganizationExport: (organizationId: string, format?: 'csv' | 'json') => Promise;\n getFileName: (prefix?: string) => string;\n}\n","import { View } from './view';\n\nimport { Collection } from '../domain/collection';\n\nexport class CollectionView implements View {\n id: string;\n organizationId: string;\n name: string;\n readOnly: boolean;\n\n constructor(c?: Collection) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.readOnly = c.readOnly;\n }\n}\n","import {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { TwoFactorProviderRequest } from 'jslib/models/request/twoFactorProviderRequest';\n\nexport abstract class TwoFactorBaseComponent {\n @Output() onUpdated = new EventEmitter();\n\n type: TwoFactorProviderType;\n organizationId: string;\n twoFactorProviderType = TwoFactorProviderType;\n enabled = false;\n authed = false;\n\n protected masterPasswordHash: string;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n protected auth(authResponse: any) {\n this.masterPasswordHash = authResponse.masterPasswordHash;\n this.authed = true;\n }\n\n protected async enable(enableFunction: () => Promise) {\n try {\n await enableFunction();\n this.analytics.eventTrack.next({\n action: 'Enabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.onUpdated.emit(true);\n } catch { }\n }\n\n protected async disable(promise: Promise) {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('twoStepDisableDesc'),\n this.i18nService.t('disable'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n const request = new TwoFactorProviderRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.type = this.type;\n if (this.organizationId != null) {\n promise = this.apiService.putTwoFactorOrganizationDisable(this.organizationId, request);\n } else {\n promise = this.apiService.putTwoFactorDisable(request);\n }\n await promise;\n this.enabled = false;\n this.analytics.eventTrack.next({\n action: 'Disabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepDisabled'));\n this.onUpdated.emit(false);\n } catch { }\n }\n}\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { Field } from '../domain/field';\r\n\r\nexport class FieldView implements View {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(f?: Field) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.type = f.type;\r\n }\r\n\r\n get maskedValue(): string {\r\n return this.value != null ? '••••••••' : null;\r\n }\r\n}\r\n","export abstract class TotpService {\r\n getCode: (keyb32: string) => Promise;\r\n isAutoCopyEnabled: () => Promise;\r\n}\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-organizations',\n templateUrl: 'organizations.component.html',\n})\nexport class OrganizationsComponent implements OnInit {\n @Input() vault = false;\n\n organizations: Organization[];\n loaded: boolean = false;\n actionPromise: Promise;\n\n constructor(private userService: UserService, private platformUtilsService: PlatformUtilsService,\n private i18nService: I18nService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private syncService: SyncService) { }\n\n async ngOnInit() {\n if (!this.vault) {\n await this.load();\n }\n }\n\n async load() {\n const orgs = await this.userService.getAllOrganizations();\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.organizations = orgs;\n this.loaded = true;\n }\n\n async leave(org: Organization) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('leaveOrganizationConfirmation'), org.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.apiService.postLeaveOrganization(org.id).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Left Organization' });\n this.toasterService.popAsync('success', null, this.i18nService.t('leftOrganization'));\n await this.load();\n } catch { }\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport {\r\n ActivatedRoute,\r\n NavigationEnd,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Injectable()\r\nexport class RouterService {\r\n private previousUrl: string = undefined;\r\n private currentUrl: string = undefined;\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute,\r\n private titleService: Title, private i18nService: I18nService) {\r\n this.currentUrl = this.router.url;\r\n router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = event.url;\r\n\r\n let title = i18nService.t('pageTitle', 'Bitwarden');\r\n let titleId: string = null;\r\n let rawTitle: string = null;\r\n let child = this.activatedRoute.firstChild;\r\n while (child != null) {\r\n if (child.firstChild != null) {\r\n child = child.firstChild;\r\n } else if (child.snapshot.data != null && child.snapshot.data.title != null) {\r\n rawTitle = child.snapshot.data.title;\r\n break;\r\n } else if (child.snapshot.data != null && child.snapshot.data.titleId != null) {\r\n titleId = child.snapshot.data.titleId;\r\n break;\r\n } else {\r\n titleId = null;\r\n rawTitle = null;\r\n break;\r\n }\r\n }\r\n\r\n if (titleId != null || rawTitle != null) {\r\n const newTitle = rawTitle != null ? rawTitle : i18nService.t(titleId);\r\n if (newTitle != null && newTitle !== '') {\r\n title = (newTitle + ' | ' + title);\r\n }\r\n }\r\n this.titleService.setTitle(title);\r\n }\r\n });\r\n }\r\n\r\n getPreviousUrl() {\r\n return this.previousUrl;\r\n }\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class CipherString {\r\n encryptedString?: string;\r\n encryptionType?: EncryptionType;\r\n decryptedValue?: string;\r\n data?: string;\r\n iv?: string;\r\n mac?: string;\r\n\r\n constructor(encryptedStringOrType: string | EncryptionType, data?: string, iv?: string, mac?: string) {\r\n if (data != null) {\r\n // data and header\r\n const encType = encryptedStringOrType as EncryptionType;\r\n this.encryptedString = encType + '.' + data;\r\n\r\n // iv\r\n if (iv != null) {\r\n this.encryptedString += ('|' + iv);\r\n }\r\n\r\n // mac\r\n if (mac != null) {\r\n this.encryptedString += ('|' + mac);\r\n }\r\n\r\n this.encryptionType = encType;\r\n this.data = data;\r\n this.iv = iv;\r\n this.mac = mac;\r\n\r\n return;\r\n }\r\n\r\n this.encryptedString = encryptedStringOrType as string;\r\n if (!this.encryptedString) {\r\n return;\r\n }\r\n\r\n const headerPieces = this.encryptedString.split('.');\r\n let encPieces: string[] = null;\r\n\r\n if (headerPieces.length === 2) {\r\n try {\r\n this.encryptionType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) {\r\n return;\r\n }\r\n } else {\r\n encPieces = this.encryptedString.split('|');\r\n this.encryptionType = encPieces.length === 3 ? EncryptionType.AesCbc128_HmacSha256_B64 :\r\n EncryptionType.AesCbc256_B64;\r\n }\r\n\r\n switch (this.encryptionType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encPieces.length !== 3) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n this.mac = encPieces[2];\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encPieces.length !== 2) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n if (encPieces.length !== 1) {\r\n return;\r\n }\r\n\r\n this.data = encPieces[0];\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n if (this.decryptedValue) {\r\n return Promise.resolve(this.decryptedValue);\r\n }\r\n\r\n let cryptoService: CryptoService;\r\n const containerService = (Utils.global as any).bitwardenContainerService;\r\n if (containerService) {\r\n cryptoService = containerService.getCryptoService();\r\n } else {\r\n throw new Error('global bitwardenContainerService not initialized.');\r\n }\r\n\r\n try {\r\n const orgKey = await cryptoService.getOrgKey(orgId);\r\n this.decryptedValue = await cryptoService.decryptToUtf8(this, orgKey);\r\n } catch (e) {\r\n this.decryptedValue = '[error: cannot decrypt]';\r\n }\r\n return this.decryptedValue;\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component';\r\n\r\n@Component({\r\n selector: 'app-export',\r\n templateUrl: 'export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n constructor(analytics: Angulartics2, toasterService: ToasterService,\r\n cryptoService: CryptoService, userService: UserService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n exportService: ExportService) {\r\n super(analytics, toasterService, cryptoService, userService, i18nService, platformUtilsService,\r\n exportService, window);\r\n }\r\n\r\n protected saved() {\r\n super.saved();\r\n this.masterPassword = null;\r\n this.toasterService.popAsync('success', null, this.i18nService.t('exportSuccess'));\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { ImportResult } from 'jslib/models/domain/importResult';\n\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\nimport { FolderRequest } from 'jslib/models/request/folderRequest';\nimport { ImportCiphersRequest } from 'jslib/models/request/importCiphersRequest';\nimport { KvpRequest } from 'jslib/models/request/kvpRequest';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { AscendoCsvImporter } from 'jslib/importers/ascendoCsvImporter';\nimport { AviraCsvImporter } from 'jslib/importers/aviraCsvImporter';\nimport { BitwardenCsvImporter } from 'jslib/importers/bitwardenCsvImporter';\nimport { BlurCsvImporter } from 'jslib/importers/blurCsvImporter';\nimport { ChromeCsvImporter } from 'jslib/importers/chromeCsvImporter';\nimport { ClipperzHtmlImporter } from 'jslib/importers/clipperzHtmlImporter';\nimport { DashlaneCsvImporter } from 'jslib/importers/dashlaneCsvImporter';\nimport { EnpassCsvImporter } from 'jslib/importers/enpassCsvImporter';\nimport { FirefoxCsvImporter } from 'jslib/importers/firefoxCsvImporter';\nimport { GnomeJsonImporter } from 'jslib/importers/gnomeJsonImporter';\nimport { Importer } from 'jslib/importers/importer';\nimport { KeePass2XmlImporter } from 'jslib/importers/keepass2XmlImporter';\nimport { KeePassXCsvImporter } from 'jslib/importers/keepassxCsvImporter';\nimport { KeeperCsvImporter } from 'jslib/importers/keeperCsvImporter';\nimport { LastPassCsvImporter } from 'jslib/importers/lastpassCsvImporter';\nimport { MeldiumCsvImporter } from 'jslib/importers/meldiumCsvImporter';\nimport { MSecureCsvImporter } from 'jslib/importers/msecureCsvImporter';\nimport { OnePassword1PifImporter } from 'jslib/importers/onepassword1PifImporter';\nimport { OnePasswordWinCsvImporter } from 'jslib/importers/onepasswordWinCsvImporter';\nimport { PadlockCsvImporter } from 'jslib/importers/padlockCsvImporter';\nimport { PassKeepCsvImporter } from 'jslib/importers/passkeepCsvImporter';\nimport { PasswordAgentCsvImporter } from 'jslib/importers/passwordAgentCsvImporter';\nimport { PasswordBossJsonImporter } from 'jslib/importers/passwordBossJsonImporter';\nimport { PasswordDragonXmlImporter } from 'jslib/importers/passwordDragonXmlImporter';\nimport { PasswordSafeXmlImporter } from 'jslib/importers/passwordSafeXmlImporter';\nimport { RoboFormCsvImporter } from 'jslib/importers/roboformCsvImporter';\nimport { SafeInCloudXmlImporter } from 'jslib/importers/safeInCloudXmlImporter';\nimport { SaferPassCsvImporter } from 'jslib/importers/saferpassCsvImport';\nimport { SplashIdCsvImporter } from 'jslib/importers/splashIdCsvImporter';\nimport { StickyPasswordXmlImporter } from 'jslib/importers/stickyPasswordXmlImporter';\nimport { TrueKeyCsvImporter } from 'jslib/importers/truekeyCsvImporter';\nimport { UpmCsvImporter } from 'jslib/importers/upmCsvImporter';\nimport { ZohoVaultCsvImporter } from 'jslib/importers/zohoVaultCsvImporter';\n\n@Component({\n selector: 'app-import',\n templateUrl: 'import.component.html',\n})\nexport class ImportComponent implements OnInit {\n featuredImportOptions: any[];\n importOptions: any[];\n format: string = null;\n fileContents: string;\n formPromise: Promise;\n\n protected successNavigate: any[] = ['vault'];\n\n constructor(protected i18nService: I18nService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected cipherService: CipherService,\n protected folderService: FolderService, protected apiService: ApiService,\n protected router: Router) {\n }\n\n ngOnInit() {\n this.setImportOptions();\n this.importOptions.sort((a, b) => {\n if (a.name == null && b.name != null) {\n return -1;\n }\n if (a.name != null && b.name == null) {\n return 1;\n }\n if (a.name == null && b.name == null) {\n return 0;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(a.name, b.name) :\n a.name.localeCompare(b.name);\n });\n }\n\n async submit() {\n const importer = this.getImporter();\n if (importer === null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFormat'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if ((files == null || files.length === 0) && (this.fileContents == null || this.fileContents === '')) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n let fileContents = this.fileContents;\n if (files != null && files.length > 0) {\n try {\n const content = await this.getFileContents(files[0]);\n if (content != null) {\n fileContents = content;\n }\n } catch { }\n }\n\n if (fileContents == null || fileContents === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n const importResult = await importer.parse(fileContents);\n if (importResult.success) {\n if (importResult.folders.length === 0 && importResult.ciphers.length === 0) {\n this.error(this.i18nService.t('importNothingError'));\n return;\n } else if (importResult.ciphers.length > 0) {\n const halfway = Math.floor(importResult.ciphers.length / 2);\n const last = importResult.ciphers.length - 1;\n if (this.badData(importResult.ciphers[0]) && this.badData(importResult.ciphers[halfway]) &&\n this.badData(importResult.ciphers[last])) {\n this.error(this.i18nService.t('importFormatError'));\n return;\n }\n }\n\n try {\n this.formPromise = this.postImport(importResult);\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: 'Imported Data',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('importSuccess'));\n this.router.navigate(this.successNavigate);\n } catch { }\n } else {\n this.error(this.i18nService.t('importFormatError'));\n }\n }\n\n getFormatInstructionTitle() {\n if (this.format == null) {\n return null;\n }\n\n const results = this.featuredImportOptions.concat(this.importOptions).filter((o) => o.id === this.format);\n if (results.length > 0) {\n return this.i18nService.t('instructionsFor', results[0].name);\n }\n return null;\n }\n\n protected async postImport(importResult: ImportResult) {\n const request = new ImportCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.folders != null) {\n for (let i = 0; i < importResult.folders.length; i++) {\n const f = await this.folderService.encrypt(importResult.folders[i]);\n request.folders.push(new FolderRequest(f));\n }\n }\n if (importResult.folderRelationships != null) {\n importResult.folderRelationships.forEach((r) =>\n request.folderRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportCiphers(request);\n }\n\n protected setImportOptions() {\n this.featuredImportOptions = [\n { id: null, name: '-- ' + this.i18nService.t('select') + ' --' },\n { id: 'bitwardencsv', name: 'Bitwarden (csv)' },\n { id: 'lastpasscsv', name: 'LastPass (csv)' },\n { id: 'chromecsv', name: 'Chrome (csv)' },\n { id: 'firefoxcsv', name: 'Firefox (csv)' },\n { id: 'keepass2xml', name: 'KeePass 2 (xml)' },\n { id: '1password1pif', name: '1Password (1pif)' },\n { id: 'dashlanecsv', name: 'Dashlane (csv)' },\n ];\n\n this.importOptions = [\n { id: 'keepassxcsv', name: 'KeePassX (csv)' },\n { id: '1passwordwincsv', name: '1Password 6 and 7 Windows (csv)' },\n { id: 'roboformcsv', name: 'RoboForm (csv)' },\n { id: 'keepercsv', name: 'Keeper (csv)' },\n { id: 'enpasscsv', name: 'Enpass (csv)' },\n { id: 'safeincloudxml', name: 'SafeInCloud (xml)' },\n { id: 'pwsafexml', name: 'Password Safe (xml)' },\n { id: 'stickypasswordxml', name: 'Sticky Password (xml)' },\n { id: 'msecurecsv', name: 'mSecure (csv)' },\n { id: 'truekeycsv', name: 'True Key (csv)' },\n { id: 'passwordbossjson', name: 'Password Boss (json)' },\n { id: 'zohovaultcsv', name: 'Zoho Vault (csv)' },\n { id: 'splashidcsv', name: 'SplashID (csv)' },\n { id: 'passworddragonxml', name: 'Password Dragon (xml)' },\n { id: 'padlockcsv', name: 'Padlock (csv)' },\n { id: 'passboltcsv', name: 'Passbolt (csv)' },\n { id: 'clipperzhtml', name: 'Clipperz (html)' },\n { id: 'aviracsv', name: 'Avira (csv)' },\n { id: 'saferpasscsv', name: 'SaferPass (csv)' },\n { id: 'upmcsv', name: 'Universal Password Manager (csv)' },\n { id: 'ascendocsv', name: 'Ascendo DataVault (csv)' },\n { id: 'meldiumcsv', name: 'Meldium (csv)' },\n { id: 'passkeepcsv', name: 'PassKeep (csv)' },\n { id: 'operacsv', name: 'Opera (csv)' },\n { id: 'vivaldicsv', name: 'Vivaldi (csv)' },\n { id: 'gnomejson', name: 'GNOME Passwords and Keys/Seahorse (json)' },\n { id: 'blurcsv', name: 'Blur (csv)' },\n { id: 'passwordagentcsv', name: 'Password Agent (csv)' },\n ];\n }\n\n protected getImporter(): Importer {\n if (this.format == null || this.format === '') {\n return null;\n }\n\n switch (this.format) {\n case 'bitwardencsv':\n return new BitwardenCsvImporter();\n case 'lastpasscsv':\n case 'passboltcsv':\n return new LastPassCsvImporter();\n case 'keepassxcsv':\n return new KeePassXCsvImporter();\n case 'aviracsv':\n return new AviraCsvImporter();\n case 'blurcsv':\n return new BlurCsvImporter();\n case 'safeincloudxml':\n return new SafeInCloudXmlImporter();\n case 'padlockcsv':\n return new PadlockCsvImporter();\n case 'keepass2xml':\n return new KeePass2XmlImporter();\n case 'chromecsv':\n case 'operacsv':\n case 'vivaldicsv':\n return new ChromeCsvImporter();\n case 'firefoxcsv':\n return new FirefoxCsvImporter();\n case 'upmcsv':\n return new UpmCsvImporter();\n case 'saferpasscsv':\n return new SaferPassCsvImporter();\n case 'meldiumcsv':\n return new MeldiumCsvImporter();\n case '1password1pif':\n return new OnePassword1PifImporter();\n case '1passwordwincsv':\n return new OnePasswordWinCsvImporter();\n case 'keepercsv':\n return new KeeperCsvImporter();\n case 'passworddragonxml':\n return new PasswordDragonXmlImporter();\n case 'enpasscsv':\n return new EnpassCsvImporter();\n case 'pwsafexml':\n return new PasswordSafeXmlImporter();\n case 'dashlanecsv':\n return new DashlaneCsvImporter();\n case 'msecurecsv':\n return new MSecureCsvImporter();\n case 'stickypasswordxml':\n return new StickyPasswordXmlImporter();\n case 'truekeycsv':\n return new TrueKeyCsvImporter();\n case 'clipperzhtml':\n return new ClipperzHtmlImporter();\n case 'roboformcsv':\n return new RoboFormCsvImporter();\n case 'ascendocsv':\n return new AscendoCsvImporter();\n case 'passwordbossjson':\n return new PasswordBossJsonImporter();\n case 'zohovaultcsv':\n return new ZohoVaultCsvImporter();\n case 'splashidcsv':\n return new SplashIdCsvImporter();\n case 'passkeepcsv':\n return new PassKeepCsvImporter();\n case 'gnomejson':\n return new GnomeJsonImporter();\n case 'passwordagentcsv':\n return new PasswordAgentCsvImporter();\n default:\n return null;\n }\n }\n\n private error(errorMessage: string) {\n this.analytics.eventTrack.next({\n action: 'Import Data Failed',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), errorMessage);\n }\n\n private getFileContents(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = (evt) => {\n if (this.format === 'lastpasscsv' && file.type === 'text/html') {\n const parser = new DOMParser();\n const doc = parser.parseFromString(evt.target.result, 'text/html');\n const pre = doc.querySelector('pre');\n if (pre != null) {\n resolve(pre.textContent);\n return;\n }\n reject();\n return;\n }\n\n resolve(evt.target.result);\n };\n reader.onerror = () => {\n reject();\n };\n });\n }\n\n private badData(c: CipherView) {\n return (c.name == null || c.name === '--') &&\n (c.login != null && (c.login.password == null || c.login.password === ''));\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { TwoFactorProviders } from 'jslib/services/auth.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorAuthenticatorComponent } from './two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './two-factor-recovery.component';\nimport { TwoFactorU2fComponent } from './two-factor-u2f.component';\nimport { TwoFactorYubiKeyComponent } from './two-factor-yubikey.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: 'two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent implements OnInit {\n @ViewChild('recoveryTemplate', { read: ViewContainerRef }) recoveryModalRef: ViewContainerRef;\n @ViewChild('authenticatorTemplate', { read: ViewContainerRef }) authenticatorModalRef: ViewContainerRef;\n @ViewChild('yubikeyTemplate', { read: ViewContainerRef }) yubikeyModalRef: ViewContainerRef;\n @ViewChild('u2fTemplate', { read: ViewContainerRef }) u2fModalRef: ViewContainerRef;\n @ViewChild('duoTemplate', { read: ViewContainerRef }) duoModalRef: ViewContainerRef;\n @ViewChild('emailTemplate', { read: ViewContainerRef }) emailModalRef: ViewContainerRef;\n\n organizationId: string;\n providers: any[] = [];\n premium: boolean;\n loading = true;\n\n private modal: ModalComponent = null;\n\n constructor(protected apiService: ApiService, protected tokenService: TokenService,\n protected componentFactoryResolver: ComponentFactoryResolver, protected messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.premium = this.tokenService.getPremium();\n\n for (const key in TwoFactorProviders) {\n if (!TwoFactorProviders.hasOwnProperty(key)) {\n continue;\n }\n\n const p = (TwoFactorProviders as any)[key];\n if (this.filterProvider(p.type)) {\n continue;\n }\n\n this.providers.push({\n type: p.type,\n name: p.name,\n description: p.description,\n enabled: false,\n premium: p.premium,\n sort: p.sort,\n });\n }\n\n this.providers.sort((a: any, b: any) => a.sort - b.sort);\n await this.load();\n }\n\n async load() {\n this.loading = true;\n const providerList = await this.getTwoFactorProviders();\n providerList.data.forEach((p) => {\n this.providers.forEach((p2) => {\n if (p.type === p2.type) {\n p2.enabled = p.enabled;\n }\n });\n });\n this.loading = false;\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.Authenticator:\n const authComp = this.openModal(this.authenticatorModalRef, TwoFactorAuthenticatorComponent);\n authComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Authenticator);\n });\n break;\n case TwoFactorProviderType.Yubikey:\n const yubiComp = this.openModal(this.yubikeyModalRef, TwoFactorYubiKeyComponent);\n yubiComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Yubikey);\n });\n break;\n case TwoFactorProviderType.Duo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Duo);\n });\n break;\n case TwoFactorProviderType.Email:\n const emailComp = this.openModal(this.emailModalRef, TwoFactorEmailComponent);\n emailComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Email);\n });\n break;\n case TwoFactorProviderType.U2f:\n const u2fComp = this.openModal(this.u2fModalRef, TwoFactorU2fComponent);\n u2fComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.U2f);\n });\n break;\n default:\n break;\n }\n }\n\n recoveryCode() {\n this.openModal(this.recoveryModalRef, TwoFactorRecoveryComponent);\n }\n\n async premiumRequired() {\n const premium = await this.tokenService.getPremium();\n if (!premium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorProviders();\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type === TwoFactorProviderType.OrganizationDuo;\n }\n\n protected openModal(ref: ViewContainerRef, type: Type): T {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = ref.createComponent(factory).instance;\n const childComponent = this.modal.show(type, ref);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return childComponent;\n }\n\n protected updateStatus(enabled: boolean, type: TwoFactorProviderType) {\n if (!enabled && this.modal != null) {\n this.modal.close();\n }\n this.providers.forEach((p) => {\n if (p.type === type) {\n p.enabled = enabled;\n }\n });\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { View } from './view';\n\nimport { LoginUri } from '../domain/loginUri';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { Utils } from '../../misc/utils';\n\nexport class LoginUriView implements View {\n match: UriMatchType = null;\n\n // tslint:disable\n private _uri: string;\n private _domain: string;\n private _hostname: string;\n // tslint:enable\n\n constructor(u?: LoginUri) {\n if (!u) {\n return;\n }\n\n this.match = u.match;\n }\n\n get uri(): string {\n return this._uri;\n }\n set uri(value: string) {\n this._uri = value;\n this._domain = null;\n }\n\n get domain(): string {\n if (this._domain == null && this.uri != null) {\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n const platformUtilsService: PlatformUtilsService = containerService.getPlatformUtilsService();\n this._domain = platformUtilsService.getDomain(this.uri);\n if (this._domain === '') {\n this._domain = null;\n }\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n }\n\n return this._domain;\n }\n\n get hostname(): string {\n if (this._hostname == null && this.uri != null) {\n this._hostname = Utils.getHostname(this.uri);\n if (this._hostname === '') {\n this._hostname = null;\n }\n }\n\n return this._hostname;\n }\n\n get hostnameOrUri(): string {\n return this.hostname != null ? this.hostname : this.uri;\n }\n\n get isWebsite(): boolean {\n return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0);\n }\n\n get canLaunch(): boolean {\n return this.uri != null && this.uri.indexOf('://') > -1;\n }\n}\n","import { View } from './view';\r\n\r\nimport { Identity } from '../domain/identity';\r\n\r\nexport class IdentityView implements View {\r\n title: string = null;\r\n middleName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n // tslint:disable\r\n private _firstName: string;\r\n private _lastName: string;\r\n private _subTitle: string;\r\n // tslint:enable\r\n\r\n constructor(i?: Identity) {\r\n // ctor\r\n }\r\n\r\n get firstName(): string {\r\n return this._firstName;\r\n }\r\n set firstName(value: string) {\r\n this._firstName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get lastName(): string {\r\n return this._lastName;\r\n }\r\n set lastName(value: string) {\r\n this._lastName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {\r\n this._subTitle = '';\r\n if (this.firstName != null) {\r\n this._subTitle = this.firstName;\r\n }\r\n if (this.lastName != null) {\r\n if (this._subTitle !== '') {\r\n this._subTitle += ' ';\r\n }\r\n this._subTitle += this.lastName;\r\n }\r\n }\r\n\r\n return this._subTitle;\r\n }\r\n\r\n get fullName(): string {\r\n if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {\r\n let name = '';\r\n if (this.title != null) {\r\n name += (this.title + ' ');\r\n }\r\n if (this.firstName != null) {\r\n name += (this.firstName + ' ');\r\n }\r\n if (this.middleName != null) {\r\n name += (this.middleName + ' ');\r\n }\r\n if (this.lastName != null) {\r\n name += this.lastName;\r\n }\r\n return name.trim();\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nconst MaxCheckedCount = 500;\r\n\r\n@Component({\r\n selector: 'app-vault-ciphers',\r\n templateUrl: 'ciphers.component.html',\r\n})\r\nexport class CiphersComponent extends BaseCiphersComponent {\r\n @Input() showAddNew = true;\r\n @Output() onAttachmentsClicked = new EventEmitter();\r\n @Output() onShareClicked = new EventEmitter();\r\n @Output() onCollectionsClicked = new EventEmitter();\r\n\r\n cipherType = CipherType;\r\n\r\n constructor(cipherService: CipherService, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService) {\r\n super(cipherService);\r\n }\r\n\r\n checkCipher(c: CipherView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n selectAll(select: boolean) {\r\n if (select) {\r\n this.selectAll(false);\r\n }\r\n const selectCount = select && this.ciphers.length > MaxCheckedCount ? MaxCheckedCount : this.ciphers.length;\r\n for (let i = 0; i < selectCount; i++) {\r\n this.checkCipher(this.ciphers[i], select);\r\n }\r\n }\r\n\r\n getSelected(): CipherView[] {\r\n if (this.ciphers == null) {\r\n return [];\r\n }\r\n return this.ciphers.filter((c) => !!(c as any).checked);\r\n }\r\n\r\n getSelectedIds(): string[] {\r\n return this.getSelected().map((c) => c.id);\r\n }\r\n\r\n attachments(c: CipherView) {\r\n this.onAttachmentsClicked.emit(c);\r\n }\r\n\r\n share(c: CipherView) {\r\n this.onShareClicked.emit(c);\r\n }\r\n\r\n collections(c: CipherView) {\r\n this.onCollectionsClicked.emit(c);\r\n }\r\n\r\n async delete(c: CipherView): Promise {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n await this.cipherService.deleteWithServer(c.id);\r\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\r\n this.refresh();\r\n }\r\n\r\n copy(value: string, typeI18nKey: string, aType: string) {\r\n if (value == null) {\r\n return;\r\n }\r\n\r\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\r\n this.platformUtilsService.copyToClipboard(value, { doc: window.document });\r\n this.toasterService.popAsync('info', null,\r\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\r\n }\r\n}\r\n","export enum FieldType {\r\n Text = 0,\r\n Hidden = 1,\r\n Boolean = 2,\r\n}\r\n","export enum EncryptionType {\r\n AesCbc256_B64 = 0,\r\n AesCbc128_HmacSha256_B64 = 1,\r\n AesCbc256_HmacSha256_B64 = 2,\r\n Rsa2048_OaepSha256_B64 = 3,\r\n Rsa2048_OaepSha1_B64 = 4,\r\n Rsa2048_OaepSha256_HmacSha256_B64 = 5,\r\n Rsa2048_OaepSha1_HmacSha256_B64 = 6,\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/components/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-vault-groupings',\r\n templateUrl: 'groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n @Output() onSearchTextChanged = new EventEmitter();\r\n\r\n searchText: string = '';\r\n searchPlaceholder: string = null;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService) {\r\n super(collectionService, folderService);\r\n }\r\n\r\n searchTextChanged() {\r\n this.onSearchTextChanged.emit(this.searchText);\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { DeviceRequest } from '../models/request/deviceRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\n\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { AppIdService } from '../abstractions/appId.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService } from '../abstractions/user.service';\n\nexport const TwoFactorProviders = {\n [TwoFactorProviderType.Authenticator]: {\n type: TwoFactorProviderType.Authenticator,\n name: null as string,\n description: null as string,\n priority: 1,\n sort: 1,\n premium: false,\n },\n [TwoFactorProviderType.Yubikey]: {\n type: TwoFactorProviderType.Yubikey,\n name: null as string,\n description: null as string,\n priority: 3,\n sort: 2,\n premium: true,\n },\n [TwoFactorProviderType.Duo]: {\n type: TwoFactorProviderType.Duo,\n name: 'Duo',\n description: null as string,\n priority: 2,\n sort: 3,\n premium: true,\n },\n [TwoFactorProviderType.OrganizationDuo]: {\n type: TwoFactorProviderType.OrganizationDuo,\n name: 'Duo (Organization)',\n description: null as string,\n priority: 10,\n sort: 4,\n premium: false,\n },\n [TwoFactorProviderType.U2f]: {\n type: TwoFactorProviderType.U2f,\n name: null as string,\n description: null as string,\n priority: 4,\n sort: 5,\n premium: true,\n },\n [TwoFactorProviderType.Email]: {\n type: TwoFactorProviderType.Email,\n name: null as string,\n description: null as string,\n priority: 0,\n sort: 6,\n premium: false,\n },\n};\n\nexport class AuthService {\n email: string;\n masterPasswordHash: string;\n twoFactorProviders: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType = null;\n\n private key: SymmetricCryptoKey;\n\n constructor(private cryptoService: CryptoService, private apiService: ApiService,\n private userService: UserService, private tokenService: TokenService,\n private appIdService: AppIdService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService,\n private setCryptoKeys = true) { }\n\n init() {\n TwoFactorProviders[TwoFactorProviderType.Email].name = this.i18nService.t('emailTitle');\n TwoFactorProviders[TwoFactorProviderType.Email].description = this.i18nService.t('emailDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Authenticator].name = this.i18nService.t('authenticatorAppTitle');\n TwoFactorProviders[TwoFactorProviderType.Authenticator].description =\n this.i18nService.t('authenticatorAppDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Duo].description = this.i18nService.t('duoDesc');\n\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].name =\n 'Duo (' + this.i18nService.t('organization') + ')';\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].description =\n this.i18nService.t('duoOrganizationDesc');\n\n TwoFactorProviders[TwoFactorProviderType.U2f].name = this.i18nService.t('u2fTitle');\n TwoFactorProviders[TwoFactorProviderType.U2f].description = this.i18nService.t('u2fDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Yubikey].name = this.i18nService.t('yubiKeyTitle');\n TwoFactorProviders[TwoFactorProviderType.Yubikey].description = this.i18nService.t('yubiKeyDesc');\n }\n\n async logIn(email: string, masterPassword: string): Promise {\n this.selectedTwoFactorProviderType = null;\n email = email.toLowerCase();\n const key = await this.cryptoService.makeKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key);\n }\n\n async logInTwoFactor(twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean): Promise {\n return await this.logInHelper(this.email, this.masterPasswordHash, this.key, twoFactorProvider,\n twoFactorToken, remember);\n }\n\n async logInComplete(email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n email = email.toLowerCase();\n const key = await this.cryptoService.makeKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, key, twoFactorProvider, twoFactorToken, remember);\n }\n\n logOut(callback: Function) {\n callback();\n this.messagingService.send('loggedOut');\n }\n\n getSupportedTwoFactorProviders(win: Window): any[] {\n const providers: any[] = [];\n if (this.twoFactorProviders == null) {\n return providers;\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.OrganizationDuo) &&\n this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Authenticator)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Yubikey)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Yubikey]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Duo) && this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Duo]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.U2f) && this.platformUtilsService.supportsU2f(win)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.U2f]);\n }\n\n if (this.twoFactorProviders.has(TwoFactorProviderType.Email)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Email]);\n }\n\n return providers;\n }\n\n getDefaultTwoFactorProvider(u2fSupported: boolean): TwoFactorProviderType {\n if (this.twoFactorProviders == null) {\n return null;\n }\n\n if (this.selectedTwoFactorProviderType != null &&\n this.twoFactorProviders.has(this.selectedTwoFactorProviderType)) {\n return this.selectedTwoFactorProviderType;\n }\n\n let providerType: TwoFactorProviderType = null;\n let providerPriority = -1;\n this.twoFactorProviders.forEach((value, type) => {\n const provider = (TwoFactorProviders as any)[type];\n if (provider != null && provider.priority > providerPriority) {\n if (type === TwoFactorProviderType.U2f && !u2fSupported) {\n return;\n }\n\n providerType = type;\n providerPriority = provider.priority;\n }\n });\n\n return providerType;\n }\n\n private async logInHelper(email: string, hashedPassword: string, key: SymmetricCryptoKey,\n twoFactorProvider?: TwoFactorProviderType, twoFactorToken?: string, remember?: boolean): Promise {\n const storedTwoFactorToken = await this.tokenService.getTwoFactorToken(email);\n const appId = await this.appIdService.getAppId();\n const deviceRequest = new DeviceRequest(appId, this.platformUtilsService);\n\n let request: TokenRequest;\n if (twoFactorToken != null && twoFactorProvider != null) {\n request = new TokenRequest(email, hashedPassword, twoFactorProvider, twoFactorToken, remember,\n deviceRequest);\n } else if (storedTwoFactorToken != null) {\n request = new TokenRequest(email, hashedPassword, TwoFactorProviderType.Remember,\n storedTwoFactorToken, false, deviceRequest);\n } else {\n request = new TokenRequest(email, hashedPassword, null, null, false, deviceRequest);\n }\n\n const response = await this.apiService.postIdentityToken(request);\n\n this.clearState();\n const result = new AuthResult();\n result.twoFactor = !(response as any).accessToken;\n\n if (result.twoFactor) {\n // two factor required\n const twoFactorResponse = response as IdentityTwoFactorResponse;\n this.email = email;\n this.masterPasswordHash = hashedPassword;\n this.key = this.setCryptoKeys ? key : null;\n this.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n result.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n return result;\n }\n\n const tokenResponse = response as IdentityTokenResponse;\n if (tokenResponse.twoFactorToken != null) {\n this.tokenService.setTwoFactorToken(tokenResponse.twoFactorToken, email);\n }\n\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n await this.userService.setUserIdAndEmail(this.tokenService.getUserId(), this.tokenService.getEmail());\n if (this.setCryptoKeys) {\n await this.cryptoService.setKey(key);\n await this.cryptoService.setKeyHash(hashedPassword);\n await this.cryptoService.setEncKey(tokenResponse.key);\n\n // User doesn't have a key pair yet (old account), let's generate one for them\n if (tokenResponse.privateKey == null) {\n try {\n const keyPair = await this.cryptoService.makeKeyPair();\n await this.apiService.postAccountKeys(new KeysRequest(keyPair[0], keyPair[1].encryptedString));\n tokenResponse.privateKey = keyPair[1].encryptedString;\n } catch (e) {\n // tslint:disable-next-line\n console.error(e);\n }\n }\n\n await this.cryptoService.setEncPrivateKey(tokenResponse.privateKey);\n }\n\n this.messagingService.send('loggedIn');\n return result;\n }\n\n private clearState(): void {\n this.email = null;\n this.masterPasswordHash = null;\n this.twoFactorProviders = null;\n this.selectedTwoFactorProviderType = null;\n }\n}\n","export class SelectionReadOnlyResponse {\n id: string;\n readOnly: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.readOnly = response.ReadOnly;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { VerifyBankRequest } from 'jslib/models/request/verifyBankRequest';\n\nimport { BillingChargeResponse } from 'jslib/models/response/billingResponse';\nimport { OrganizationBillingResponse } from 'jslib/models/response/organizationBillingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\nimport { PlanType } from 'jslib/enums/planType';\n\n@Component({\n selector: 'app-org-billing',\n templateUrl: 'organization-billing.component.html',\n})\nexport class OrganizationBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n organizationId: string;\n adjustSeatsAdd = true;\n showAdjustSeats = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showAdjustPayment = false;\n showUpdateLicense = false;\n billing: OrganizationBillingResponse;\n paymentMethodType = PaymentMethodType;\n selfHosted = false;\n verifyAmount1: number;\n verifyAmount2: number;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n licensePromise: Promise;\n verifyBankPromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.firstLoaded = true;\n });\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n this.loading = true;\n this.billing = await this.apiService.getOrganizationBilling(this.organizationId);\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postOrganizationReinstate(this.organizationId);\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postOrganizationCancel(this.organizationId);\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n async changePlan() {\n const contactSupport = await this.platformUtilsService.showDialog(this.i18nService.t('changeBillingPlanDesc'),\n this.i18nService.t('changeBillingPlan'), this.i18nService.t('contactSupport'), this.i18nService.t('close'));\n if (contactSupport) {\n this.platformUtilsService.launchUri('https://bitwarden.com/contact');\n }\n }\n\n async downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const installationId = window.prompt(this.i18nService.t('enterInstallationId'));\n if (installationId == null || installationId === '') {\n return;\n }\n\n try {\n this.licensePromise = this.apiService.getOrganizationLicense(this.organizationId, installationId);\n const license = await this.licensePromise;\n const licenseString = JSON.stringify(license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_organization_license.json');\n } catch { }\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n async verifyBank() {\n if (this.loading) {\n return;\n }\n\n try {\n const request = new VerifyBankRequest();\n request.amount1 = this.verifyAmount1;\n request.amount2 = this.verifyAmount2;\n this.verifyBankPromise = this.apiService.postOrganizationVerifyBank(this.organizationId, request);\n await this.verifyBankPromise;\n this.analytics.eventTrack.next({ action: 'Verified Bank Account' });\n this.toasterService.popAsync('success', null, this.i18nService.t('verifiedBankAccount'));\n this.load();\n } catch { }\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustSeats(add: boolean) {\n this.adjustSeatsAdd = add;\n this.showAdjustSeats = true;\n }\n\n closeSeats(load: boolean) {\n this.showAdjustSeats = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n async viewInvoice(charge: BillingChargeResponse) {\n const token = await this.tokenService.getToken();\n const url = this.apiService.apiBaseUrl + '/organizations/' + this.organizationId +\n '/billing-invoice/' + charge.invoiceId + '?access_token=' + token;\n this.platformUtilsService.launchUri(url);\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.billing != null ? this.billing.subscription : null;\n }\n\n get nextInvoice() {\n return this.billing != null ? this.billing.upcomingInvoice : null;\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get charges() {\n return this.billing != null ? this.billing.charges : null;\n }\n\n get storagePercentage() {\n return this.billing != null && this.billing.maxStorageGb ?\n +(100 * (this.billing.storageGb / this.billing.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n\n get billingInterval() {\n const monthly = this.billing.planType === PlanType.EnterpriseMonthly ||\n this.billing.planType === PlanType.TeamsMonthly;\n return monthly ? 'month' : 'year';\n }\n\n get storageGbPrice() {\n return this.billingInterval === 'month' ? 0.5 : 4;\n }\n\n get seatPrice() {\n switch (this.billing.planType) {\n case PlanType.EnterpriseMonthly:\n return 4;\n case PlanType.EnterpriseAnnually:\n return 3;\n case PlanType.TeamsMonthly:\n return 2.5;\n case PlanType.TeamsAnnually:\n return 2;\n default:\n return 0;\n }\n }\n\n get canAdjustSeats() {\n return this.billing.planType === PlanType.EnterpriseMonthly ||\n this.billing.planType === PlanType.EnterpriseAnnually ||\n this.billing.planType === PlanType.TeamsMonthly || this.billing.planType === PlanType.TeamsAnnually;\n }\n\n get canDownloadLicense() {\n return (this.billing.planType !== PlanType.Free && this.subscription == null) ||\n (this.subscription != null && !this.subscription.cancelled);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorDuoComponent } from '../../settings/two-factor-duo.component';\nimport { TwoFactorSetupComponent as BaseTwoFactorSetupComponent } from '../../settings/two-factor-setup.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: '../../settings/two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent extends BaseTwoFactorSetupComponent {\n constructor(apiService: ApiService, tokenService: TokenService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n private route: ActivatedRoute) {\n super(apiService, tokenService, componentFactoryResolver, messagingService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await super.ngOnInit();\n });\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.OrganizationDuo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.type = TwoFactorProviderType.OrganizationDuo;\n duoComp.organizationId = this.organizationId;\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.OrganizationDuo);\n });\n break;\n default:\n break;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorOrganizationProviders(this.organizationId);\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type !== TwoFactorProviderType.OrganizationDuo;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { OrganizationUpdateRequest } from 'jslib/models/request/organizationUpdateRequest';\nimport { OrganizationResponse } from 'jslib/models/response/organizationResponse';\n\nimport { ModalComponent } from '../../modal.component';\nimport { DeleteOrganizationComponent } from './delete-organization.component';\n\n@Component({\n selector: 'app-org-account',\n templateUrl: 'account.component.html',\n})\nexport class AccountComponent {\n @ViewChild('deleteOrganizationTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\n\n loading = true;\n org: OrganizationResponse;\n formPromise: Promise;\n\n private organizationId: string;\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\n private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute, private syncService: SyncService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n try {\n this.org = await this.apiService.getOrganization(this.organizationId);\n } catch { }\n });\n this.loading = false;\n }\n\n async submit() {\n try {\n const request = new OrganizationUpdateRequest();\n request.name = this.org.name;\n request.businessName = this.org.businessName;\n request.billingEmail = this.org.billingEmail;\n this.formPromise = this.apiService.putOrganization(this.organizationId, request).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Organization Settings' });\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpdated'));\n } catch { }\n }\n\n deleteOrganization() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n DeleteOrganizationComponent, this.deleteModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent {\n access2fa = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n const organization = await this.userService.getOrganization(params.organizationId);\n this.access2fa = organization.use2fa;\n });\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityEventsComponent } from './entity-events.component';\nimport { UserAddEditComponent } from './user-add-edit.component';\nimport { UserGroupsComponent } from './user-groups.component';\n\n@Component({\n selector: 'app-org-people',\n templateUrl: 'people.component.html',\n})\nexport class PeopleComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('groupsTemplate', { read: ViewContainerRef }) groupsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n users: OrganizationUserUserDetailsResponse[];\n searchText: string;\n status: OrganizationUserStatusType = null;\n statusMap = new Map();\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n actionPromise: Promise;\n accessEvents = false;\n accessGroups = false;\n\n private modal: ModalComponent = null;\n private allUsers: OrganizationUserUserDetailsResponse[];\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private analytics: Angulartics2,\n private toasterService: ToasterService, private cryptoService: CryptoService,\n private userService: UserService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n this.accessEvents = organization.useEvents;\n this.accessGroups = organization.useGroups;\n await this.load();\n\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const user = this.users.filter((u) => u.id === qParams.viewEvents);\n if (user.length > 0 && user[0].status === OrganizationUserStatusType.Confirmed) {\n this.events(user[0]);\n }\n }\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n this.statusMap.clear();\n this.allUsers = response.data != null && response.data.length > 0 ? response.data : [];\n this.allUsers.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.allUsers.forEach((u) => {\n if (!this.statusMap.has(u.status)) {\n this.statusMap.set(u.status, [u]);\n } else {\n this.statusMap.get(u.status).push(u);\n }\n });\n this.filter(this.status);\n this.loading = false;\n }\n\n filter(status: OrganizationUserStatusType) {\n this.status = status;\n if (this.status != null) {\n this.users = this.statusMap.get(this.status);\n } else {\n this.users = this.allUsers;\n }\n }\n\n get invitedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Invited) ?\n this.statusMap.get(OrganizationUserStatusType.Invited).length : 0;\n }\n\n get acceptedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Accepted) ?\n this.statusMap.get(OrganizationUserStatusType.Accepted).length : 0;\n }\n\n edit(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserAddEditComponent, this.addEditModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedUser.subscribe(() => {\n this.modal.close();\n this.removeUser(user);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n invite() {\n this.edit(null);\n }\n\n groups(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.groupsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserGroupsComponent, this.groupsModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async remove(user: OrganizationUserUserDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.name || user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteOrganizationUser(this.organizationId, user.id);\n this.analytics.eventTrack.next({ action: 'Deleted User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.name || user.email));\n this.removeUser(user);\n } catch { }\n }\n\n async reinvite(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.apiService.postOrganizationUserReinvite(this.organizationId, user.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Reinvited User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', user.name || user.email));\n this.actionPromise = null;\n }\n\n async confirm(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.doConfirmation(user);\n await this.actionPromise;\n user.status = OrganizationUserStatusType.Confirmed;\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', user.name || user.email));\n this.actionPromise = null;\n }\n\n async events(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = user.name || user.email;\n childComponent.organizationId = this.organizationId;\n childComponent.entityId = user.id;\n childComponent.showUser = false;\n childComponent.entity = 'user';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private async doConfirmation(user: OrganizationUserUserDetailsResponse) {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const publicKeyResponse = await this.apiService.getUserPublicKey(user.userId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, user.id, request);\n }\n\n private removeUser(user: OrganizationUserUserDetailsResponse) {\n const index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityUsersComponent } from './entity-users.component';\nimport { GroupAddEditComponent } from './group-add-edit.component';\n\n@Component({\n selector: 'app-org-groups',\n templateUrl: 'groups.component.html',\n})\nexport class GroupsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n groups: GroupResponse[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\n private router: Router) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (organization == null || !organization.useGroups) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n await this.load();\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getGroups(this.organizationId);\n const groups = response.data != null && response.data.length > 0 ? response.data : [];\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n this.loading = false;\n }\n\n edit(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n GroupAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.groupId = group != null ? group.id : null;\n childComponent.onSavedGroup.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedGroup.subscribe(() => {\n this.modal.close();\n this.removeGroup(group);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(group: GroupResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteGroupConfirmation'), group.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteGroup(this.organizationId, group.id);\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', group.name));\n this.removeGroup(group);\n } catch { }\n }\n\n users(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'group';\n childComponent.entityId = group.id;\n childComponent.entityName = group.name;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeGroup(group: GroupResponse) {\n const index = this.groups.indexOf(group);\n if (index > -1) {\n this.groups.splice(index, 1);\n }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { EventService } from '../../services/event.service';\r\n\r\nimport { EventResponse } from 'jslib/models/response/eventResponse';\r\nimport { ListResponse } from 'jslib/models/response/listResponse';\r\n\r\n@Component({\r\n selector: 'app-org-events',\r\n templateUrl: 'events.component.html',\r\n})\r\nexport class EventsComponent implements OnInit {\r\n loading = true;\r\n loaded = false;\r\n organizationId: string;\r\n events: any[];\r\n start: string;\r\n end: string;\r\n continuationToken: string;\r\n refreshPromise: Promise;\r\n morePromise: Promise;\r\n\r\n private orgUsersUserIdMap = new Map();\r\n private orgUsersIdMap = new Map();\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute,\r\n private eventService: EventService, private i18nService: I18nService,\r\n private toasterService: ToasterService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n if (organization == null || !organization.useEvents) {\r\n this.router.navigate(['/organizations', this.organizationId]);\r\n return;\r\n }\r\n const defaultDates = this.eventService.getDefaultDateFilters();\r\n this.start = defaultDates[0];\r\n this.end = defaultDates[1];\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\r\n response.data.forEach((u) => {\r\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\r\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\r\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\r\n });\r\n await this.loadEvents(true);\r\n this.loaded = true;\r\n }\r\n\r\n async loadEvents(clearExisting: boolean) {\r\n if (this.refreshPromise != null || this.morePromise != null) {\r\n return;\r\n }\r\n\r\n let dates: string[] = null;\r\n try {\r\n dates = this.eventService.formatDateFilters(this.start, this.end);\r\n } catch (e) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidDateRange'));\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n let response: ListResponse;\r\n try {\r\n const promise = this.apiService.getEventsOrganization(this.organizationId, dates[0], dates[1],\r\n clearExisting ? null : this.continuationToken);\r\n if (clearExisting) {\r\n this.refreshPromise = promise;\r\n } else {\r\n this.morePromise = promise;\r\n }\r\n response = await promise;\r\n } catch { }\r\n\r\n this.continuationToken = response.continuationToken;\r\n const events = response.data.map((r) => {\r\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\r\n const eventInfo = this.eventService.getEventInfo(r);\r\n const user = userId != null && this.orgUsersUserIdMap.has(userId) ?\r\n this.orgUsersUserIdMap.get(userId) : null;\r\n return {\r\n message: eventInfo.message,\r\n appIcon: eventInfo.appIcon,\r\n appName: eventInfo.appName,\r\n userId: userId,\r\n userName: user != null ? user.name : this.i18nService.t('unknown'),\r\n userEmail: user != null ? user.email : '',\r\n date: r.date,\r\n ip: r.ipAddress,\r\n type: r.type,\r\n };\r\n });\r\n\r\n if (!clearExisting && this.events != null && this.events.length > 0) {\r\n this.events = this.events.concat(events);\r\n } else {\r\n this.events = events;\r\n }\r\n\r\n this.loading = false;\r\n this.morePromise = null;\r\n this.refreshPromise = null;\r\n }\r\n}\r\n","export enum OrganizationUserStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-entity-users',\n templateUrl: 'entity-users.component.html',\n})\nexport class EntityUsersComponent implements OnInit {\n @Input() entity: 'group' | 'collection';\n @Input() entityId: string;\n @Input() entityName: string;\n @Input() organizationId: string;\n @Output() onRemovedUser = new EventEmitter();\n\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n\n loading = true;\n users: any[] = [];\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n await this.loadUsers();\n this.loading = false;\n }\n\n async loadUsers() {\n let users: any[] = [];\n if (this.entity === 'group') {\n const response = await this.apiService.getGroupUsers(this.organizationId, this.entityId);\n users = response.data.map((r) => r);\n } else if (this.entity === 'collection') {\n const response = await this.apiService.getCollectionUsers(this.organizationId, this.entityId);\n users = response.data.map((r) => r);\n }\n users.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.users = users;\n }\n\n async remove(user: any) {\n if (this.actionPromise != null || (this.entity === 'collection' && user.accessAll)) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n if (this.entity === 'group') {\n this.actionPromise = this.apiService.deleteGroupUser(this.organizationId, this.entityId,\n user.organizationUserId);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Removed User From Group' });\n } else if (this.entity === 'collection') {\n this.actionPromise = this.apiService.deleteCollectionUser(this.organizationId, this.entityId,\n user.organizationUserId);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Removed User From Collection' });\n }\n\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.email));\n this.onRemovedUser.emit();\n const index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n }\n } catch { }\n }\n}\n","export class SelectionReadOnlyRequest {\n id: string;\n readOnly: boolean;\n\n constructor(id: string, readOnly: boolean) {\n this.id = id;\n this.readOnly = readOnly;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ModalComponent } from '../../modal.component';\nimport { CollectionAddEditComponent } from './collection-add-edit.component';\nimport { EntityUsersComponent } from './entity-users.component';\n\n@Component({\n selector: 'app-org-manage-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n collections: CollectionView[];\n searchText: string;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private collectionService: CollectionService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getCollections(this.organizationId);\n const collections = response.data.map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n this.loading = false;\n }\n\n edit(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n CollectionAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.collectionId = collection != null ? collection.id : null;\n childComponent.onSavedCollection.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedCollection.subscribe(() => {\n this.modal.close();\n this.removeCollection(collection);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(collection: CollectionView) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), collection.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteCollection(this.organizationId, collection.id);\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', collection.name));\n this.removeCollection(collection);\n } catch { }\n }\n\n users(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'collection';\n childComponent.entityId = collection.id;\n childComponent.entityName = collection.name;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeCollection(collection: CollectionView) {\n const index = this.collections.indexOf(collection);\n if (index > -1) {\n this.collections.splice(index, 1);\n }\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\n@Pipe({\n name: 'search',\n})\nexport class SearchPipe implements PipeTransform {\n transform(items: any[], searchText: string, prop1?: string, prop2?: string, prop3?: string): any[] {\n if (items == null || items.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return items;\n }\n\n searchText = searchText.trim().toLowerCase();\n return items.filter((i) => {\n if (prop1 != null && i[prop1] != null && i[prop1].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop2 != null && i[prop2] != null && i[prop2].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop3 != null && i[prop3] != null && i[prop3].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n return false;\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Component({\r\n selector: 'app-org-manage',\r\n templateUrl: 'manage.component.html',\r\n})\r\nexport class ManageComponent implements OnInit {\r\n accessGroups = false;\r\n accessEvents = false;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n this.route.parent.params.subscribe(async (params) => {\r\n const organization = await this.userService.getOrganization(params.organizationId);\r\n this.accessEvents = organization.useEvents;\r\n this.accessGroups = organization.useGroups;\r\n });\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from '../../tools/export.component';\r\n\r\n@Component({\r\n selector: 'app-org-export',\r\n templateUrl: '../../tools/export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n organizationId: string;\r\n\r\n constructor(analytics: Angulartics2, toasterService: ToasterService,\r\n cryptoService: CryptoService, userService: UserService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n exportService: ExportService, private route: ActivatedRoute) {\r\n super(analytics, toasterService, cryptoService, userService, i18nService, platformUtilsService,\r\n exportService);\r\n }\r\n\r\n ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n });\r\n }\r\n\r\n getExportData() {\r\n return this.exportService.getOrganizationExport(this.organizationId, 'csv');\r\n }\r\n\r\n getFileName() {\r\n return super.getFileName('org');\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { Importer } from 'jslib/importers/importer';\n\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { ImportOrganizationCiphersRequest } from 'jslib/models/request/importOrganizationCiphersRequest';\nimport { KvpRequest } from 'jslib/models/request/kvpRequest';\n\nimport { ImportResult } from 'jslib/models/domain/importResult';\n\nimport { ImportComponent as BaseImportComponent } from '../../tools/import.component';\n\n@Component({\n selector: 'app-org-import',\n templateUrl: '../../tools/import.component.html',\n})\nexport class ImportComponent extends BaseImportComponent {\n organizationId: string;\n\n constructor(i18nService: I18nService, analytics: Angulartics2,\n toasterService: ToasterService, cipherService: CipherService,\n folderService: FolderService, apiService: ApiService,\n router: Router, private collectionService: CollectionService,\n private route: ActivatedRoute) {\n super(i18nService, analytics, toasterService, cipherService, folderService, apiService, router);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n this.successNavigate = ['organizations', this.organizationId, 'vault'];\n super.ngOnInit();\n });\n }\n\n protected async postImport(importResult: ImportResult) {\n const request = new ImportOrganizationCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n importResult.ciphers[i].organizationId = this.organizationId;\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.collections != null) {\n for (let i = 0; i < importResult.collections.length; i++) {\n importResult.collections[i].organizationId = this.organizationId;\n const c = await this.collectionService.encrypt(importResult.collections[i]);\n request.collections.push(new CollectionRequest(c));\n }\n }\n if (importResult.collectionRelationships != null) {\n importResult.collectionRelationships.forEach((r) =>\n request.collectionRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportOrganizationCiphers(this.organizationId, request);\n }\n\n protected getImporter(): Importer {\n const importer = super.getImporter();\n if (importer != null) {\n importer.organization = true;\n }\n return importer;\n }\n}\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-org-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent { }\r\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { EventService } from '../../services/event.service';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\n\n@Component({\n selector: 'app-entity-events',\n templateUrl: 'entity-events.component.html',\n})\nexport class EntityEventsComponent implements OnInit {\n @Input() name: string;\n @Input() entity: 'user' | 'cipher';\n @Input() entityId: string;\n @Input() organizationId: string;\n @Input() showUser = false;\n\n loading = true;\n loaded = false;\n events: any[];\n start: string;\n end: string;\n continuationToken: string;\n refreshPromise: Promise;\n morePromise: Promise;\n\n private orgUsersUserIdMap = new Map();\n private orgUsersIdMap = new Map();\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private eventService: EventService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const defaultDates = this.eventService.getDefaultDateFilters();\n this.start = defaultDates[0];\n this.end = defaultDates[1];\n await this.load();\n }\n\n async load() {\n if (this.showUser) {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n response.data.forEach((u) => {\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\n });\n }\n await this.loadEvents(true);\n this.loaded = true;\n }\n\n async loadEvents(clearExisting: boolean) {\n if (this.refreshPromise != null || this.morePromise != null) {\n return;\n }\n\n let dates: string[] = null;\n try {\n dates = this.eventService.formatDateFilters(this.start, this.end);\n } catch (e) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidDateRange'));\n return;\n }\n\n this.loading = true;\n let response: ListResponse;\n try {\n let promise: Promise;\n if (this.entity === 'user') {\n promise = this.apiService.getEventsOrganizationUser(this.organizationId, this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n } else {\n promise = this.apiService.getEventsCipher(this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n }\n if (clearExisting) {\n this.refreshPromise = promise;\n } else {\n this.morePromise = promise;\n }\n response = await promise;\n } catch { }\n\n this.continuationToken = response.continuationToken;\n const events = response.data.map((r) => {\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\n const eventInfo = this.eventService.getEventInfo(r);\n const user = this.showUser && userId != null && this.orgUsersUserIdMap.has(userId) ?\n this.orgUsersUserIdMap.get(userId) : null;\n return {\n message: eventInfo.message,\n appIcon: eventInfo.appIcon,\n appName: eventInfo.appName,\n userId: userId,\n userName: user != null ? user.name : this.showUser ? this.i18nService.t('unknown') : null,\n userEmail: user != null ? user.email : this.showUser ? '' : null,\n date: r.date,\n ip: r.ipAddress,\n type: r.type,\n };\n });\n\n if (!clearExisting && this.events != null && this.events.length > 0) {\n this.events = this.events.concat(events);\n } else {\n this.events = events;\n }\n\n this.loading = false;\n this.morePromise = null;\n this.refreshPromise = null;\n }\n}\n","import { Location } from '@angular/common';\nimport {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { ModalComponent } from '../../modal.component';\n\nimport { EntityEventsComponent } from '../manage/entity-events.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { GroupingsComponent } from './groupings.component';\n\n@Component({\n selector: 'app-org-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef }) eventsModalRef: ViewContainerRef;\n\n organization: Organization;\n collectionId: string;\n type: CipherType;\n\n private modal: ModalComponent = null;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private location: Location, private router: Router,\n private syncService: SyncService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver, private messagingService: MessagingService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.groupingsComponent.organization = this.organization;\n this.ciphersComponent.organization = this.organization;\n\n this.route.queryParams.subscribe(async (qParams) => {\n if (!this.organization.isAdmin) {\n await this.syncService.fullSync(false);\n }\n await this.groupingsComponent.load();\n\n if (qParams == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n } else {\n if (qParams.type) {\n const t = parseInt(qParams.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t, true);\n } else if (qParams.collectionId) {\n this.groupingsComponent.selectedCollectionId = qParams.collectionId;\n await this.filterCollection(qParams.collectionId, true);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n }\n\n this.ciphersComponent.searchText = this.groupingsComponent.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const cipher = this.ciphersComponent.ciphers.filter((c) => c.id === qParams.viewEvents);\n if (cipher.length > 0) {\n this.viewEvents(cipher[0]);\n }\n }\n });\n });\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.applyFilter();\n this.clearFilters();\n this.go();\n }\n\n async filterCipherType(type: CipherType, load = false) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n const filter = (c: CipherView) => c.type === type;\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterCollection(collectionId: string, load = false) {\n this.ciphersComponent.showAddNew = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n const filter = (c: CipherView) => {\n if (collectionId === 'unassigned') {\n return c.collectionIds == null || c.collectionIds.length === 0;\n } else {\n return c.collectionIds.indexOf(collectionId) > -1;\n }\n };\n if (load) {\n await this.ciphersComponent.load(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n }\n\n editCipherAttachments(cipher: CipherView) {\n if (this.organization.maxStorageGb == null || this.organization.maxStorageGb === 0) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n if (this.organization.isAdmin) {\n childComponent.collectionIds = cipher.collectionIds;\n childComponent.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async viewEvents(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = cipher.name;\n childComponent.organizationId = this.organization.id;\n childComponent.entityId = cipher.id;\n childComponent.showUser = true;\n childComponent.entity = 'cipher';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.collectionId = null;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n type: this.type,\n collectionId: this.collectionId,\n };\n }\n\n const url = this.router.createUrlTree(['organizations', this.organization.id, 'vault'],\n { queryParams: queryParams }).toString();\n this.location.go(url);\n }\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CiphersComponent as BaseCiphersComponent } from '../../vault/ciphers.component';\n\n@Component({\n selector: 'app-org-vault-ciphers',\n templateUrl: '../../vault/ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent {\n @Output() onEventsClicked = new EventEmitter();\n\n organization: Organization;\n accessEvents = false;\n\n constructor(cipherService: CipherService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n super(cipherService, analytics, toasterService, i18nService, platformUtilsService);\n }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n if (!this.organization.isAdmin) {\n await super.load();\n return;\n }\n this.accessEvents = this.organization.useEvents;\n const ciphers = await this.apiService.getCiphersOrganization(this.organization.id);\n if (ciphers != null && ciphers.data != null && ciphers.data.length) {\n const decCiphers: CipherView[] = [];\n const promises: any[] = [];\n ciphers.data.forEach((r) => {\n const data = new CipherData(r);\n const cipher = new Cipher(data);\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n await Promise.all(promises);\n decCiphers.sort(this.cipherService.getLocaleSortingFunction());\n this.allCiphers = decCiphers;\n } else {\n this.allCiphers = [];\n }\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n applyFilter(filter: (cipher: CipherView) => boolean = null) {\n if (this.organization.isAdmin) {\n super.applyFilter(filter);\n } else {\n const f = (c: CipherView) => c.organizationId === this.organization.id && (filter == null || filter(c));\n super.applyFilter(f);\n }\n }\n\n checkCipher(c: CipherView) {\n // do nothing\n }\n\n events(c: CipherView) {\n this.onEventsClicked.emit(c);\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from '../../vault/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-groupings',\r\n templateUrl: '../../vault/groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n organization: Organization;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService,\r\n private apiService: ApiService, private i18nService: I18nService) {\r\n super(collectionService, folderService);\r\n }\r\n\r\n async loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n await super.loadCollections(this.organization.id);\r\n return;\r\n }\r\n const collections = await this.apiService.getCollections(this.organization.id);\r\n if (collections != null && collections.data != null && collections.data.length) {\r\n const collectionDomains = collections.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collectionDomains);\r\n } else {\r\n this.collections = [];\r\n }\r\n\r\n const unassignedCollection = new CollectionView();\r\n unassignedCollection.name = this.i18nService.t('unassigned');\r\n unassignedCollection.id = 'unassigned';\r\n unassignedCollection.organizationId = this.organization.id;\r\n unassignedCollection.readOnly = true;\r\n this.collections.push(unassignedCollection);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\n@Component({\r\n selector: 'app-organization-layout',\r\n templateUrl: 'organization-layout.component.html',\r\n})\r\nexport class OrganizationLayoutComponent implements OnInit {\r\n organization: Organization;\r\n\r\n private organizationId: string;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n this.route.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n this.organization = await this.userService.getOrganization(this.organizationId);\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { AuditService } from 'jslib/abstractions/audit.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\nimport { BreachAccountResponse } from 'jslib/models/response/breachAccountResponse';\r\n\r\n@Component({\r\n selector: 'app-breach-report',\r\n templateUrl: 'breach-report.component.html',\r\n})\r\nexport class BreachReportComponent implements OnInit {\r\n error = false;\r\n username: string;\r\n checkedUsername: string;\r\n breachedAccounts: BreachAccountResponse[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private auditService: AuditService, private userService: UserService) { }\r\n\r\n async ngOnInit() {\r\n this.username = await this.userService.getEmail();\r\n }\r\n\r\n async submit() {\r\n this.error = false;\r\n this.username = this.username.toLowerCase();\r\n try {\r\n this.formPromise = this.auditService.breachedAccounts(this.username);\r\n this.breachedAccounts = await this.formPromise;\r\n } catch {\r\n this.error = true;\r\n }\r\n this.checkedUsername = this.username;\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorComponent as BasePasswordGeneratorComponent,\r\n} from 'jslib/angular/components/password-generator.component';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { PasswordGeneratorHistoryComponent } from './password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator',\r\n templateUrl: 'password-generator.component.html',\r\n})\r\nexport class PasswordGeneratorComponent extends BasePasswordGeneratorComponent {\r\n @ViewChild('historyTemplate', { read: ViewContainerRef }) historyModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2,\r\n platformUtilsService: PlatformUtilsService, i18nService: I18nService,\r\n toasterService: ToasterService, private componentFactoryResolver: ComponentFactoryResolver) {\r\n super(passwordGenerationService, analytics, platformUtilsService, i18nService, toasterService, window);\r\n }\r\n\r\n history() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.historyModalRef.createComponent(factory).instance;\r\n this.modal.show(PasswordGeneratorHistoryComponent, this.historyModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent { }\r\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { PaymentComponent } from './payment.component';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { OrganizationCreateRequest } from 'jslib/models/request/organizationCreateRequest';\n\n@Component({\n selector: 'app-create-organization',\n templateUrl: 'create-organization.component.html',\n})\nexport class CreateOrganizationComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n ownedBusiness = false;\n storageGbPriceMonthly = 0.33;\n additionalStorage = 0;\n additionalSeats = 0;\n plan = 'free';\n interval = 'year';\n name: string;\n billingEmail: string;\n businessName: string;\n\n storageGb: any = {\n price: 0.33,\n monthlyPrice: 0.50,\n yearlyPrice: 4,\n };\n\n plans: any = {\n free: {\n basePrice: 0,\n noAdditionalSeats: true,\n noPayment: true,\n },\n families: {\n basePrice: 1,\n annualBasePrice: 12,\n baseSeats: 5,\n noAdditionalSeats: true,\n annualPlanType: PlanType.FamiliesAnnually,\n },\n teams: {\n basePrice: 5,\n annualBasePrice: 60,\n monthlyBasePrice: 8,\n baseSeats: 5,\n seatPrice: 2,\n annualSeatPrice: 24,\n monthlySeatPrice: 2.5,\n monthPlanType: PlanType.TeamsMonthly,\n annualPlanType: PlanType.TeamsAnnually,\n },\n enterprise: {\n seatPrice: 3,\n annualSeatPrice: 36,\n monthlySeatPrice: 4,\n monthPlanType: PlanType.EnterpriseMonthly,\n annualPlanType: PlanType.EnterpriseAnnually,\n },\n };\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private router: Router, private syncService: SyncService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n ngOnInit() {\n this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.plan === 'families' || qParams.plan === 'teams' || qParams.plan === 'enterprise') {\n this.plan = qParams.plan;\n }\n });\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n let key: string = null;\n let collectionCt: string = null;\n\n try {\n this.formPromise = this.cryptoService.makeShareKey().then((shareKey) => {\n key = shareKey[0].encryptedString;\n return this.cryptoService.encrypt(this.i18nService.t('defaultCollection'), shareKey[1]);\n }).then((collection) => {\n collectionCt = collection.encryptedString;\n if (this.selfHosted || this.plan === 'free') {\n return null;\n } else {\n return this.paymentComponent.createPaymentToken();\n }\n }).then((token: string) => {\n if (this.selfHosted) {\n const fd = new FormData();\n fd.append('license', files[0]);\n fd.append('key', key);\n fd.append('collectionName', collectionCt);\n return this.apiService.postOrganizationLicense(fd);\n } else {\n const request = new OrganizationCreateRequest();\n request.key = key;\n request.collectionName = collectionCt;\n request.name = this.name;\n request.billingEmail = this.billingEmail;\n\n if (this.plan === 'free') {\n request.planType = PlanType.Free;\n } else {\n request.paymentToken = token;\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.country = this.paymentComponent.getCountry();\n if (this.interval === 'month') {\n request.planType = this.plans[this.plan].monthPlanType;\n } else {\n request.planType = this.plans[this.plan].annualPlanType;\n }\n }\n return this.apiService.postOrganization(request);\n }\n }).then((response) => {\n return this.finalize(response.id);\n });\n await this.formPromise;\n } catch { }\n }\n\n async finalize(orgId: string) {\n await Promise.all([\n this.apiService.refreshIdentityToken(),\n this.syncService.fullSync(true),\n ]);\n this.analytics.eventTrack.next({ action: 'Created Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationCreated'),\n this.i18nService.t('organizationReadyToGo'));\n this.router.navigate(['/organizations/' + orgId]);\n }\n\n changedPlan() {\n if (this.plans[this.plan].monthPlanType == null) {\n this.interval = 'year';\n }\n\n if (this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 0;\n } else if (!this.additionalSeats && !this.plans[this.plan].baseSeats &&\n !this.plans[this.plan].noAdditionalSeats) {\n this.additionalSeats = 1;\n }\n }\n\n changedOwnedBusiness() {\n if (!this.ownedBusiness || this.plan === 'teams' || this.plan === 'enterprise') {\n return;\n }\n this.plan = 'teams';\n }\n\n additionalStorageTotal(annual: boolean): number {\n if (annual) {\n return (this.additionalStorage || 0) * this.storageGb.yearlyPrice;\n } else {\n return (this.additionalStorage || 0) * this.storageGb.monthlyPrice;\n }\n }\n\n seatTotal(annual: boolean): number {\n if (this.plans[this.plan].noAdditionalSeats) {\n return 0;\n }\n\n if (annual) {\n return this.plans[this.plan].annualSeatPrice * (this.additionalSeats || 0);\n } else {\n return this.plans[this.plan].monthlySeatPrice * (this.additionalSeats || 0);\n }\n }\n\n baseTotal(annual: boolean): number {\n if (annual) {\n return (this.plans[this.plan].annualBasePrice || 0);\n } else {\n return (this.plans[this.plan].monthlyBasePrice || 0);\n }\n }\n\n get total(): number {\n const annual = this.interval === 'year';\n return this.baseTotal(annual) + this.seatTotal(annual) + this.additionalStorageTotal(annual);\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { BillingResponse } from 'jslib/models/response/billingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\n@Component({\n selector: 'app-user-billing',\n templateUrl: 'user-billing.component.html',\n})\nexport class UserBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showAdjustPayment = false;\n showUpdateLicense = false;\n billing: BillingResponse;\n paymentMethodType = PaymentMethodType;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n await this.load();\n this.firstLoaded = true;\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n\n const premium = this.tokenService.getPremium();\n if (premium) {\n this.loading = true;\n this.billing = await this.apiService.getUserBilling();\n } else {\n this.router.navigate(['/settings/premium']);\n return;\n }\n\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postReinstatePremium();\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postCancelPremium();\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const licenseString = JSON.stringify(this.billing.license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_premium_license.json');\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.billing != null ? this.billing.subscription : null;\n }\n\n get nextInvoice() {\n return this.billing != null ? this.billing.upcomingInvoice : null;\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get charges() {\n return this.billing != null ? this.billing.charges : null;\n }\n\n get storagePercentage() {\n return this.billing != null && this.billing.maxStorageGb ?\n +(100 * (this.billing.storageGb / this.billing.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n}\n","export enum PaymentMethodType {\n Card = 0,\n BankAccount = 1,\n PayPal = 2,\n Bitcoin = 3,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PaymentRequest } from 'jslib/models/request/paymentRequest';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-adjust-payment',\n templateUrl: 'adjust-payment.component.html',\n})\nexport class AdjustPaymentComponent {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n @Input() currentType?: PaymentMethodType;\n @Input() organizationId: string;\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n paymentMethodType = PaymentMethodType;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new PaymentRequest();\n this.formPromise = this.paymentComponent.createPaymentToken().then((token) => {\n request.paymentToken = token;\n if (this.organizationId == null) {\n return this.apiService.postAccountPayment(request);\n } else {\n return this.apiService.postOrganizationPayment(this.organizationId, request);\n }\n });\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.currentType == null ? 'Added Payment Method' : 'Changed Payment Method',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedPaymentMethod'));\n this.onAdjusted.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get canChange() {\n return this.currentType == null || this.currentType === PaymentMethodType.Card || this.organizationId != null;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { StorageRequest } from 'jslib/models/request/storageRequest';\n\n@Component({\n selector: 'app-adjust-storage',\n templateUrl: 'adjust-storage.component.html',\n})\nexport class AdjustStorageComponent {\n @Input() storageGbPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n storageAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new StorageRequest();\n request.storageGbAdjustment = this.storageAdjustment;\n if (!this.add) {\n request.storageGbAdjustment *= -1;\n }\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountStorage(request);\n } else {\n this.formPromise = this.apiService.postOrganizationStorage(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Storage' : 'Removed Storage' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedStorage', request.storageGbAdjustment.toString()));\n this.onAdjusted.emit(this.storageAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedStorageTotal(): number {\n return this.storageGbPrice * this.storageAdjustment;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-update-license',\n templateUrl: 'update-license.component.html',\n})\nexport class UpdateLicenseComponent {\n @Input() organizationId: string;\n @Output() onUpdated = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n try {\n const fd = new FormData();\n fd.append('license', files[0]);\n\n if (this.organizationId == null) {\n this.formPromise = this.apiService.postAccountLicense(fd);\n } else {\n this.formPromise = this.apiService.postOrganizationLicenseUpdate(this.organizationId, fd);\n }\n\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated License' });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedLicense'));\n this.onUpdated.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-premium',\n templateUrl: 'premium.component.html',\n})\nexport class PremiumComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n\n selfHosted = false;\n premiumPrice = 10;\n storageGbPrice = 4;\n additionalStorage = 0;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private tokenService: TokenService,\n private router: Router, private messagingService: MessagingService,\n private syncService: SyncService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n const premium = await this.tokenService.getPremium();\n if (premium) {\n this.router.navigate(['/settings/billing']);\n return;\n }\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n try {\n if (this.selfHosted) {\n if (!this.tokenService.getEmailVerified()) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verifyEmailFirst'));\n return;\n }\n\n const fd = new FormData();\n fd.append('license', files[0]);\n this.formPromise = this.apiService.postAccountLicense(fd).then(() => {\n return this.finalizePremium();\n });\n } else {\n this.formPromise = this.paymentComponent.createPaymentToken().then((token) => {\n const fd = new FormData();\n fd.append('paymentToken', token);\n fd.append('additionalStorageGb', (this.additionalStorage || 0).toString());\n return this.apiService.postPremium(fd);\n }).then(() => {\n return this.finalizePremium();\n });\n }\n await this.formPromise;\n } catch { }\n }\n\n async finalizePremium() {\n await Promise.all([\n this.apiService.refreshIdentityToken(),\n this.syncService.fullSync(true),\n ]);\n this.analytics.eventTrack.next({ action: 'Signed Up Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('premiumUpdated'));\n this.messagingService.send('purchasedPremium');\n this.router.navigate(['/settings/billing']);\n }\n\n get additionalStorageTotal(): number {\n return this.storageGbPrice * this.additionalStorage;\n }\n\n get total(): number {\n return this.additionalStorageTotal + this.premiumPrice;\n }\n}\n","
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \"Visa,\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n {{'paypalClickSubmit' | i18n}}\n
\n
\n\n \n {{'verifyBankAccountInitialDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorDuoRequest } from 'jslib/models/request/updateTwoFactorDuoRequest';\nimport { TwoFactorDuoResponse } from 'jslib/models/response/twoFactorDuoResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-duo',\n templateUrl: 'two-factor-duo.component.html',\n})\nexport class TwoFactorDuoComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Duo;\n ikey: string;\n skey: string;\n host: string;\n formPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorDuoRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.integrationKey = this.ikey;\n request.secretKey = this.skey;\n request.host = this.host;\n\n return super.enable(async () => {\n if (this.organizationId != null) {\n this.formPromise = this.apiService.putTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.putTwoFactorDuo(request);\n }\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private processResponse(response: TwoFactorDuoResponse) {\n this.ikey = response.integrationKey;\n this.skey = response.secretKey;\n this.host = response.host;\n this.enabled = response.enabled;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { UpdateDomainsRequest } from 'jslib/models/request/updateDomainsRequest';\n\n@Component({\n selector: 'app-domain-rules',\n templateUrl: 'domain-rules.component.html',\n})\nexport class DomainRulesComponent implements OnInit {\n loading = true;\n custom: string[] = [];\n global: any[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const response = await this.apiService.getSettingsDomains();\n this.loading = false;\n if (response.equivalentDomains != null) {\n this.custom = response.equivalentDomains.map((d) => d.join(', '));\n }\n if (response.globalEquivalentDomains != null) {\n this.global = response.globalEquivalentDomains.map((d) => {\n return {\n domains: d.domains.join(', '),\n excluded: d.excluded,\n key: d.type,\n };\n });\n }\n }\n\n toggleExcluded(globalDomain: any) {\n globalDomain.excluded = !globalDomain.excluded;\n }\n\n customize(globalDomain: any) {\n globalDomain.excluded = true;\n this.custom.push(globalDomain.domains);\n }\n\n remove(index: number) {\n this.custom.splice(index, 1);\n }\n\n add() {\n this.custom.push('');\n }\n\n async submit() {\n const request = new UpdateDomainsRequest();\n request.excludedGlobalEquivalentDomains = this.global.filter((d) => d.excluded)\n .map((d) => d.key);\n if (request.excludedGlobalEquivalentDomains.length === 0) {\n request.excludedGlobalEquivalentDomains = null;\n }\n request.equivalentDomains = this.custom.filter((d) => d != null && d.trim() !== '')\n .map((d) => d.split(',').map((d2) => d2.trim()));\n if (request.equivalentDomains.length === 0) {\n request.equivalentDomains = null;\n }\n\n try {\n this.formPromise = this.apiService.putSettingsDomains(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Saved Equivalent Domains' });\n this.toasterService.popAsync('success', null, this.i18nService.t('domainsUpdated'));\n } catch { }\n }\n\n indexTrackBy(index: number, obj: any): any {\n return index;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-options',\n templateUrl: 'options.component.html',\n})\nexport class OptionsComponent implements OnInit {\n disableIcons: boolean;\n locale: string;\n localeOptions: any[];\n\n private startingLocale: string;\n\n constructor(private storageService: StorageService, private stateService: StateService,\n private analytics: Angulartics2, private i18nService: I18nService,\n private toasterService: ToasterService) {\n const localeOptions: any[] = [];\n i18nService.supportedTranslationLocales.forEach((locale) => {\n localeOptions.push({ name: locale, value: locale });\n });\n localeOptions.sort(Utils.getSortFunction(i18nService, 'name'));\n localeOptions.splice(0, 0, { name: i18nService.t('default'), value: null });\n this.localeOptions = localeOptions;\n }\n\n async ngOnInit() {\n this.disableIcons = await this.storageService.get(ConstantsService.disableFaviconKey);\n this.locale = this.startingLocale = await this.storageService.get(ConstantsService.localeKey);\n }\n\n async submit() {\n await this.storageService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.stateService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.storageService.save(ConstantsService.localeKey, this.locale);\n this.analytics.eventTrack.next({ action: 'Saved Options' });\n if (this.locale !== this.startingLocale) {\n window.location.reload();\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('optionsUpdated'));\n }\n }\n}\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { DeauthorizeSessionsComponent } from './deauthorize-sessions.component';\r\nimport { DeleteAccountComponent } from './delete-account.component';\r\nimport { PurgeVaultComponent } from './purge-vault.component';\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: 'account.component.html',\r\n})\r\nexport class AccountComponent {\r\n @ViewChild('deauthorizeSessionsTemplate', { read: ViewContainerRef }) deauthModalRef: ViewContainerRef;\r\n @ViewChild('purgeVaultTemplate', { read: ViewContainerRef }) purgeModalRef: ViewContainerRef;\r\n @ViewChild('deleteAccountTemplate', { read: ViewContainerRef }) deleteModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n deauthorizeSessions() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deauthModalRef.createComponent(factory).instance;\r\n this.modal.show(DeauthorizeSessionsComponent, this.deauthModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n purgeVault() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.purgeModalRef.createComponent(factory).instance;\r\n this.modal.show(PurgeVaultComponent, this.purgeModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n deleteAccount() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deleteModalRef.createComponent(factory).instance;\r\n this.modal.show(DeleteAccountComponent, this.deleteModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nconst BroadcasterSubscriptionId = 'SettingsComponent';\r\n\r\n@Component({\r\n selector: 'app-settings',\r\n templateUrl: 'settings.component.html',\r\n})\r\nexport class SettingsComponent implements OnInit, OnDestroy {\r\n premium: boolean;\r\n\r\n constructor(private tokenService: TokenService, private broadcasterService: BroadcasterService,\r\n private ngZone: NgZone) { }\r\n\r\n async ngOnInit() {\r\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\r\n this.ngZone.run(async () => {\r\n switch (message.command) {\r\n case 'purchasedPremium':\r\n await this.load();\r\n break;\r\n default:\r\n }\r\n });\r\n });\r\n\r\n await this.load();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\r\n }\r\n\r\n async load() {\r\n this.premium = await this.tokenService.getPremium();\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\n\r\n@Component({\r\n selector: 'app-vault-collections',\r\n templateUrl: 'collections.component.html',\r\n})\r\nexport class CollectionsComponent implements OnInit, OnDestroy {\r\n @Input() cipherId: string;\r\n @Output() onSavedCollections = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n cipher: CipherView;\r\n collectionIds: string[];\r\n collections: CollectionView[] = [];\r\n\r\n protected cipherDomain: Cipher;\r\n\r\n constructor(protected collectionService: CollectionService, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected cipherService: CipherService) { }\r\n\r\n async ngOnInit() {\r\n this.cipherDomain = await this.loadCipher();\r\n this.collectionIds = this.loadCipherCollections();\r\n this.cipher = await this.cipherDomain.decrypt();\r\n this.collections = await this.loadCollections();\r\n\r\n this.selectAll(false);\r\n if (this.collectionIds != null) {\r\n this.collections.forEach((c) => {\r\n (c as any).checked = this.collectionIds.indexOf(c.id) > -1;\r\n });\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.selectAll(false);\r\n }\r\n\r\n async submit() {\r\n this.cipherDomain.collectionIds = this.collections\r\n .filter((c) => !!(c as any).checked)\r\n .map((c) => c.id);\r\n this.formPromise = this.saveCollections();\r\n await this.formPromise;\r\n this.onSavedCollections.emit();\r\n this.analytics.eventTrack.next({ action: 'Edited Cipher Collections' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('editedItem'));\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n protected loadCipher() {\r\n return this.cipherService.get(this.cipherId);\r\n }\r\n\r\n protected loadCipherCollections() {\r\n return this.cipherDomain.collectionIds;\r\n }\r\n\r\n protected async loadCollections() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n return allCollections.filter((c) => !c.readOnly && c.organizationId === this.cipher.organizationId);\r\n }\r\n\r\n protected saveCollections() {\r\n return this.cipherService.saveCollectionsWithServer(this.cipherDomain);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-vault-attachments',\r\n templateUrl: 'attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n constructor(cipherService: CipherService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cryptoService: CryptoService, tokenService: TokenService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(cipherService, analytics, toasterService, i18nService, cryptoService, tokenService,\r\n platformUtilsService, window);\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\n\nimport { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/add-edit.component';\nimport { LoginUriView } from 'jslib/models/view/loginUriView';\n\n@Component({\n selector: 'app-vault-add-edit',\n templateUrl: 'add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent implements OnInit {\n isPremium: boolean;\n totpCode: string;\n totpCodeFormatted: string;\n totpDash: number;\n totpSec: number;\n totpLow: boolean;\n\n protected totpInterval: number;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n analytics: Angulartics2, toasterService: ToasterService,\n auditService: AuditService, stateService: StateService,\n protected tokenService: TokenService, protected totpService: TotpService,\n protected passwordGenerationService: PasswordGenerationService, protected messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, analytics,\n toasterService, auditService, stateService);\n }\n\n async ngOnInit() {\n await super.load();\n this.cleanUp();\n\n this.isPremium = this.tokenService.getPremium();\n if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&\n (this.cipher.organizationUseTotp || this.isPremium)) {\n await this.totpUpdateCode();\n await this.totpTick();\n\n this.totpInterval = window.setInterval(async () => {\n await this.totpTick();\n }, 1000);\n }\n }\n\n toggleFavorite() {\n this.cipher.favorite = !this.cipher.favorite;\n }\n\n launch(uri: LoginUriView) {\n if (!uri.canLaunch) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Launched Login URI' });\n this.platformUtilsService.launchUri(uri.uri);\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType });\n this.platformUtilsService.copyToClipboard(value, { doc: window.document });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n }\n\n async generatePassword(): Promise {\n const confirmed = await super.generatePassword();\n if (confirmed) {\n const options = await this.passwordGenerationService.getOptions();\n this.cipher.login.password = await this.passwordGenerationService.generatePassword(options);\n }\n return confirmed;\n }\n\n async premiumRequired() {\n const premium = await this.tokenService.getPremium();\n if (!premium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n async upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.cipher.organizationId });\n }\n\n protected cleanUp() {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n\n protected async totpUpdateCode() {\n if (this.cipher == null || this.cipher.type !== CipherType.Login || this.cipher.login.totp == null) {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n return;\n }\n\n this.totpCode = await this.totpService.getCode(this.cipher.login.totp);\n if (this.totpCode != null) {\n this.totpCodeFormatted = this.totpCode.substring(0, 3) + ' ' + this.totpCode.substring(3);\n } else {\n this.totpCodeFormatted = null;\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n }\n\n protected async totpTick() {\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const mod = epoch % 30;\n\n this.totpSec = 30 - mod;\n this.totpDash = +(Math.round(((2.62 * mod) + 'e+2') as any) + 'e-2');\n this.totpLow = this.totpSec <= 7;\n if (mod === 0) {\n await this.totpUpdateCode();\n }\n }\n}\n","import { Folder } from '../domain/folder';\r\n\r\nexport class FolderRequest {\r\n name: string;\r\n\r\n constructor(folder: Folder) {\r\n this.name = folder.name ? folder.name.encryptedString : null;\r\n }\r\n}\r\n","import { Location } from '@angular/common';\nimport {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { OrganizationsComponent } from '../settings/organizations.component';\nimport { UpdateKeyComponent } from '../settings/update-key.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { BulkDeleteComponent } from './bulk-delete.component';\nimport { BulkMoveComponent } from './bulk-move.component';\nimport { BulkShareComponent } from './bulk-share.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { FolderAddEditComponent } from './folder-add-edit.component';\nimport { GroupingsComponent } from './groupings.component';\nimport { ShareComponent } from './share.component';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit {\n @ViewChild(GroupingsComponent) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent) ciphersComponent: CiphersComponent;\n @ViewChild(OrganizationsComponent) organizationsComponent: OrganizationsComponent;\n @ViewChild('attachments', { read: ViewContainerRef }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('folderAddEdit', { read: ViewContainerRef }) folderAddEditModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('share', { read: ViewContainerRef }) shareModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef }) collectionsModalRef: ViewContainerRef;\n @ViewChild('bulkDeleteTemplate', { read: ViewContainerRef }) bulkDeleteModalRef: ViewContainerRef;\n @ViewChild('bulkMoveTemplate', { read: ViewContainerRef }) bulkMoveModalRef: ViewContainerRef;\n @ViewChild('bulkShareTemplate', { read: ViewContainerRef }) bulkShareModalRef: ViewContainerRef;\n @ViewChild('updateKeyTemplate', { read: ViewContainerRef }) updateKeyModalRef: ViewContainerRef;\n\n favorites: boolean = false;\n type: CipherType = null;\n folderId: string = null;\n collectionId: string = null;\n showVerifyEmail = false;\n showBrowserOutdated = false;\n showUpdateKey = false;\n showPremiumCallout = false;\n\n private modal: ModalComponent = null;\n\n constructor(private syncService: SyncService, private route: ActivatedRoute,\n private router: Router, private location: Location,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private tokenService: TokenService, private cryptoService: CryptoService,\n private messagingService: MessagingService, private userService: UserService,\n private platformUtilsService: PlatformUtilsService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n this.showVerifyEmail = !(await this.tokenService.getEmailVerified());\n this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;\n const hasEncKey = await this.cryptoService.hasEncKey();\n this.showUpdateKey = !hasEncKey;\n const isPremium = await this.tokenService.getPremium();\n this.showPremiumCallout = !this.showVerifyEmail && !isPremium &&\n !this.platformUtilsService.isSelfHost();\n\n this.route.queryParams.subscribe(async (params) => {\n await this.syncService.fullSync(false);\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n ]);\n\n if (params == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n return;\n }\n\n if (params.favorites) {\n this.groupingsComponent.selectedFavorites = true;\n await this.filterFavorites();\n } else if (params.type) {\n const t = parseInt(params.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t);\n } else if (params.folderId) {\n this.groupingsComponent.selectedFolder = true;\n this.groupingsComponent.selectedFolderId = params.folderId;\n await this.filterFolder(params.folderId);\n } else if (params.collectionId) {\n this.groupingsComponent.selectedCollectionId = params.collectionId;\n await this.filterCollection(params.collectionId);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.load();\n }\n });\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.load();\n this.clearFilters();\n this.go();\n }\n\n async filterFavorites() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFavorites');\n await this.ciphersComponent.load((c) => c.favorite);\n this.clearFilters();\n this.favorites = true;\n this.go();\n }\n\n async filterCipherType(type: CipherType) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n await this.ciphersComponent.load((c) => c.type === type);\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterFolder(folderId: string) {\n this.ciphersComponent.showAddNew = true;\n folderId = folderId === 'none' ? null : folderId;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFolder');\n await this.ciphersComponent.load((c) => c.folderId === folderId);\n this.clearFilters();\n this.folderId = folderId == null ? 'none' : folderId;\n this.go();\n }\n\n async filterCollection(collectionId: string) {\n this.ciphersComponent.showAddNew = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n await this.ciphersComponent.load((c) => c.collectionIds.indexOf(collectionId) > -1);\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n }\n\n async editCipherAttachments(cipher: CipherView) {\n const premium = await this.tokenService.getPremium();\n if (cipher.organizationId == null && !premium) {\n this.messagingService.send('premiumRequired');\n return;\n } else if (cipher.organizationId != null) {\n const org = await this.userService.getOrganization(cipher.organizationId);\n if (org != null && (org.maxStorageGb == null || org.maxStorageGb === 0)) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n shareCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.shareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ShareComponent, this.shareModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSharedCipher.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async addFolder() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = null;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async editFolder(folderId: string) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = folderId;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n childComponent.onDeletedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n await this.filterFolder('none');\n this.groupingsComponent.selectedFolderId = null;\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n component.folderId = this.folderId === 'none' ? null : this.folderId;\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n bulkDelete() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkDeleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkDeleteComponent, this.bulkDeleteModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onDeleted.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n bulkShare() {\n const selectedCiphers = this.ciphersComponent.getSelected();\n if (selectedCiphers.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkShareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkShareComponent, this.bulkShareModalRef);\n\n childComponent.ciphers = selectedCiphers;\n childComponent.onShared.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n bulkMove() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkMoveModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkMoveComponent, this.bulkMoveModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onMoved.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n selectAll(select: boolean) {\n this.ciphersComponent.selectAll(select);\n }\n\n updateKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.updateKeyModalRef.createComponent(factory).instance;\n this.modal.show(UpdateKeyComponent, this.updateKeyModalRef);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.folderId = null;\n this.collectionId = null;\n this.favorites = false;\n this.type = null;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n favorites: this.favorites ? true : null,\n type: this.type,\n folderId: this.folderId,\n collectionId: this.collectionId,\n };\n }\n\n const url = this.router.createUrlTree(['vault'], { queryParams: queryParams }).toString();\n this.location.go(url);\n }\n}\n","export enum UriMatchType {\r\n Domain = 0,\r\n Host = 1,\r\n StartsWith = 2,\r\n Exact = 3,\r\n RegularExpression = 4,\r\n Never = 5,\r\n}\r\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\n@Component({\n selector: 'app-vault-icon',\n templateUrl: 'icon.component.html',\n})\nexport class IconComponent implements OnChanges {\n @Input() cipher: any;\n icon: string;\n image: string;\n fallbackImage: string;\n imageEnabled: boolean;\n\n private iconsUrl: string;\n\n constructor(private environmentService: EnvironmentService, private stateService: StateService) {\n this.iconsUrl = environmentService.iconsUrl;\n if (!this.iconsUrl) {\n if (environmentService.baseUrl) {\n this.iconsUrl = environmentService.baseUrl + '/icons';\n } else {\n this.iconsUrl = 'https://icons.bitwarden.net';\n }\n }\n }\n\n async ngOnChanges() {\n this.imageEnabled = !(await this.stateService.get(ConstantsService.disableFaviconKey));\n\n switch (this.cipher.type) {\n case CipherType.Login:\n this.icon = 'fa-globe';\n this.setLoginIcon();\n break;\n case CipherType.SecureNote:\n this.icon = 'fa-sticky-note-o';\n break;\n case CipherType.Card:\n this.icon = 'fa-credit-card';\n break;\n case CipherType.Identity:\n this.icon = 'fa-id-card-o';\n break;\n default:\n break;\n }\n }\n\n private setLoginIcon() {\n if (this.cipher.login.uri) {\n let hostnameUri = this.cipher.login.uri;\n let isWebsite = false;\n\n if (hostnameUri.indexOf('androidapp://') === 0) {\n this.icon = 'fa-android';\n this.image = null;\n } else if (hostnameUri.indexOf('iosapp://') === 0) {\n this.icon = 'fa-apple';\n this.image = null;\n } else if (this.imageEnabled && hostnameUri.indexOf('://') === -1 && hostnameUri.indexOf('.') > -1) {\n hostnameUri = 'http://' + hostnameUri;\n isWebsite = true;\n } else if (this.imageEnabled) {\n isWebsite = hostnameUri.indexOf('http') === 0 && hostnameUri.indexOf('.') > -1;\n }\n\n if (this.imageEnabled && isWebsite) {\n try {\n this.image = this.iconsUrl + '/' + Utils.getHostname(hostnameUri) + '/icon.png';\n this.fallbackImage = 'images/fa-globe.png';\n } catch (e) { }\n }\n } else {\n this.image = null;\n }\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user-layout',\r\n templateUrl: 'user-layout.component.html',\r\n})\r\nexport class UserLayoutComponent implements OnInit {\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: 'footer.component.html',\n})\nexport class FooterComponent implements OnInit {\n version: string;\n year: string = '2015';\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.year = new Date().getFullYear().toString();\n this.version = this.platformUtilsService.getApplicationVersion();\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: 'navbar.component.html',\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n selfHosted = false;\r\n name: string;\r\n\r\n constructor(private messagingService: MessagingService, private platformUtilsService: PlatformUtilsService,\r\n private tokenService: TokenService) {\r\n this.selfHosted = this.platformUtilsService.isSelfHost();\r\n }\r\n\r\n async ngOnInit() {\r\n this.name = await this.tokenService.getName();\r\n if (this.name == null || this.name.trim() === '') {\r\n this.name = await this.tokenService.getEmail();\r\n }\r\n }\r\n\r\n lock() {\r\n this.messagingService.send('lockVault');\r\n }\r\n\r\n logOut() {\r\n this.messagingService.send('logout');\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { VerifyDeleteRecoverRequest } from 'jslib/models/request/verifyDeleteRecoverRequest';\n\n@Component({\n selector: 'app-verify-recover-delete',\n templateUrl: 'verify-recover-delete.component.html',\n})\nexport class VerifyRecoverDeleteComponent implements OnInit {\n email: string;\n formPromise: Promise;\n\n private userId: string;\n private token: string;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute) {\n }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null && qParams.email != null) {\n this.userId = qParams.userId;\n this.token = qParams.token;\n this.email = qParams.email;\n } else {\n this.router.navigate(['/']);\n }\n });\n }\n\n async submit() {\n try {\n const request = new VerifyDeleteRecoverRequest(this.userId, this.token);\n this.formPromise = this.apiService.postAccountRecoverDeleteToken(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered Delete' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeleteRecoverRequest } from 'jslib/models/request/deleteRecoverRequest';\n\n@Component({\n selector: 'app-recover-delete',\n templateUrl: 'recover-delete.component.html',\n})\nexport class RecoverDeleteComponent {\n email: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService) {\n }\n\n async submit() {\n try {\n const request = new DeleteRecoverRequest();\n request.email = this.email.toLowerCase();\n this.formPromise = this.apiService.postAccountRecoverDelete(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Started Delete Recovery' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deleteRecoverEmailSent'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoveryRequest } from 'jslib/models/request/twoFactorRecoveryRequest';\n\n@Component({\n selector: 'app-recover-two-factor',\n templateUrl: 'recover-two-factor.component.html',\n})\nexport class RecoverTwoFactorComponent {\n email: string;\n masterPassword: string;\n recoveryCode: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private cryptoService: CryptoService) {\n }\n\n async submit() {\n try {\n const request = new TwoFactorRecoveryRequest();\n request.recoveryCode = this.recoveryCode.replace(/\\s/g, '').toLowerCase();\n request.email = this.email.toLowerCase();\n const key = await this.cryptoService.makeKey(this.masterPassword, request.email);\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n this.formPromise = this.apiService.postTwoFactorRecover(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered 2FA' });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepRecoverDisabled'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserAcceptRequest } from 'jslib/models/request/organizationUserAcceptRequest';\n\n@Component({\n selector: 'app-accept-organization',\n templateUrl: 'accept-organization.component.html',\n})\nexport class AcceptOrganizationComponent implements OnInit {\n loading = true;\n authed = false;\n orgName: string;\n email: string;\n actionPromise: Promise;\n\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService,\n private stateService: StateService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n await this.stateService.remove('orgInvitation');\n let error = qParams.organizationId == null || qParams.organizationUserId == null || qParams.token == null;\n if (!error) {\n this.authed = await this.userService.isAuthenticated();\n if (this.authed) {\n const request = new OrganizationUserAcceptRequest();\n request.token = qParams.token;\n try {\n this.actionPromise = this.apiService.postOrganizationUserAccept(qParams.organizationId,\n qParams.organizationUserId, request);\n await this.actionPromise;\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('inviteAccepted'),\n body: this.i18nService.t('inviteAcceptedDesc'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/vault']);\n } catch {\n error = true;\n }\n } else {\n await this.stateService.save('orgInvitation', qParams);\n this.email = qParams.email;\n this.orgName = qParams.organizationName;\n }\n }\n\n if (error) {\n this.toasterService.popAsync('error', null, this.i18nService.t('inviteAcceptFailed'));\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { VerifyEmailRequest } from 'jslib/models/request/verifyEmailRequest';\n\n@Component({\n selector: 'app-verify-email-token',\n templateUrl: 'verify-email-token.component.html',\n})\nexport class VerifyEmailTokenComponent implements OnInit {\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null) {\n try {\n await this.apiService.postAccountVerifyEmailToken(\n new VerifyEmailRequest(qParams.userId, qParams.token));\n const authed = await this.userService.isAuthenticated();\n if (authed) {\n await this.apiService.refreshIdentityToken();\n }\n this.toasterService.popAsync('success', null, this.i18nService.t('emailVerified'));\n this.router.navigate(['/']);\n return;\n } catch { }\n }\n this.toasterService.popAsync('error', null, this.i18nService.t('emailVerifiedFailed'));\n this.router.navigate(['/']);\n });\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { RouterService } from '../services/router.service';\r\n\r\nimport { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component';\r\n\r\n@Component({\r\n selector: 'app-lock',\r\n templateUrl: 'lock.component.html',\r\n})\r\nexport class LockComponent extends BaseLockComponent implements OnInit {\r\n constructor(router: Router, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n platformUtilsService: PlatformUtilsService, messagingService: MessagingService,\r\n userService: UserService, cryptoService: CryptoService,\r\n private routerService: RouterService) {\r\n super(router, analytics, toasterService, i18nService, platformUtilsService,\r\n messagingService, userService, cryptoService);\r\n }\r\n\r\n async ngOnInit() {\r\n const authed = await this.userService.isAuthenticated();\r\n if (!authed) {\r\n this.router.navigate(['/']);\r\n } else if (await this.cryptoService.hasKey()) {\r\n this.router.navigate(['vault']);\r\n }\r\n\r\n const previousUrl = this.routerService.getPreviousUrl();\r\n if (previousUrl !== '/' && previousUrl.indexOf('lock') === -1) {\r\n this.successRoute = previousUrl;\r\n }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { HintComponent as BaseHintComponent } from 'jslib/angular/components/hint.component';\r\n\r\n@Component({\r\n selector: 'app-hint',\r\n templateUrl: 'hint.component.html',\r\n})\r\nexport class HintComponent extends BaseHintComponent {\r\n constructor(router: Router, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n apiService: ApiService) {\r\n super(router, analytics, toasterService, i18nService, apiService);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component';\n\n@Component({\n selector: 'app-register',\n templateUrl: 'register.component.html',\n})\nexport class RegisterComponent extends BaseRegisterComponent {\n showCreateOrgMessage = false;\n\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, cryptoService: CryptoService,\n apiService: ApiService, private route: ActivatedRoute,\n stateService: StateService) {\n super(authService, router, analytics, toasterService, i18nService, cryptoService, apiService, stateService);\n }\n\n ngOnInit() {\n this.route.queryParams.subscribe((qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.showCreateOrgMessage = true;\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n });\n }\n}\n","/**\r\n * Duo Web SDK v2\r\n * Copyright 2017, Duo Security\r\n */\r\n(function (root, factory) {\r\n /*eslint-disable */\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define([], factory);\r\n /*eslint-enable */\r\n }\r\n else if (typeof module === 'object' && module.exports) {\r\n // Node. Does not work with strict CommonJS, but\r\n // only CommonJS-like environments that support module.exports,\r\n // like Node.\r\n module.exports = factory();\r\n }\r\n else {\r\n // Browser globals (root is window)\r\n var Duo = factory();\r\n // If the Javascript was loaded via a script tag, attempt to autoload\r\n // the frame.\r\n Duo._onReady(Duo.init);\r\n // Attach Duo to the `window` object\r\n root.Duo = Duo;\r\n }\r\n}(this, function () {\r\n var DUO_MESSAGE_FORMAT = /^(?:AUTH|ENROLL)+\\|[A-Za-z0-9\\+\\/=]+\\|[A-Za-z0-9\\+\\/=]+$/;\r\n var DUO_ERROR_FORMAT = /^ERR\\|[\\w\\s\\.\\(\\)]+$/;\r\n var DUO_OPEN_WINDOW_FORMAT = /^DUO_OPEN_WINDOW\\|/;\r\n var VALID_OPEN_WINDOW_DOMAINS = [\r\n 'duo.com',\r\n 'duosecurity.com',\r\n 'duomobile.s3-us-west-1.amazonaws.com'\r\n ];\r\n var iframeId = 'duo_iframe', postAction = '', postArgument = 'sig_response', host, sigRequest, duoSig, appSig, iframe, submitCallback;\r\n function throwError(message, url) {\r\n throw new Error('Duo Web SDK error: ' + message +\r\n (url ? ('\\n' + 'See ' + url + ' for more information') : ''));\r\n }\r\n function hyphenize(str) {\r\n return str.replace(/([a-z])([A-Z])/, '$1-$2').toLowerCase();\r\n }\r\n // cross-browser data attributes\r\n function getDataAttribute(element, name) {\r\n if ('dataset' in element) {\r\n return element.dataset[name];\r\n }\r\n else {\r\n return element.getAttribute('data-' + hyphenize(name));\r\n }\r\n }\r\n // cross-browser event binding/unbinding\r\n function on(context, event, fallbackEvent, callback) {\r\n if ('addEventListener' in window) {\r\n context.addEventListener(event, callback, false);\r\n }\r\n else {\r\n context.attachEvent(fallbackEvent, callback);\r\n }\r\n }\r\n function off(context, event, fallbackEvent, callback) {\r\n if ('removeEventListener' in window) {\r\n context.removeEventListener(event, callback, false);\r\n }\r\n else {\r\n context.detachEvent(fallbackEvent, callback);\r\n }\r\n }\r\n function onReady(callback) {\r\n on(document, 'DOMContentLoaded', 'onreadystatechange', callback);\r\n }\r\n function offReady(callback) {\r\n off(document, 'DOMContentLoaded', 'onreadystatechange', callback);\r\n }\r\n function onMessage(callback) {\r\n on(window, 'message', 'onmessage', callback);\r\n }\r\n function offMessage(callback) {\r\n off(window, 'message', 'onmessage', callback);\r\n }\r\n /**\r\n * Parse the sig_request parameter, throwing errors if the token contains\r\n * a server error or if the token is invalid.\r\n *\r\n * @param {String} sig Request token\r\n */\r\n function parseSigRequest(sig) {\r\n if (!sig) {\r\n // nothing to do\r\n return;\r\n }\r\n // see if the token contains an error, throwing it if it does\r\n if (sig.indexOf('ERR|') === 0) {\r\n throwError(sig.split('|')[1]);\r\n }\r\n // validate the token\r\n if (sig.indexOf(':') === -1 || sig.split(':').length !== 2) {\r\n throwError('Duo was given a bad token. This might indicate a configuration ' +\r\n 'problem with one of Duo\\'s client libraries.', 'https://www.duosecurity.com/docs/duoweb#first-steps');\r\n }\r\n var sigParts = sig.split(':');\r\n // hang on to the token, and the parsed duo and app sigs\r\n sigRequest = sig;\r\n duoSig = sigParts[0];\r\n appSig = sigParts[1];\r\n return {\r\n sigRequest: sig,\r\n duoSig: sigParts[0],\r\n appSig: sigParts[1]\r\n };\r\n }\r\n /**\r\n * This function is set up to run when the DOM is ready, if the iframe was\r\n * not available during `init`.\r\n */\r\n function onDOMReady() {\r\n iframe = document.getElementById(iframeId);\r\n if (!iframe) {\r\n throw new Error('This page does not contain an iframe for Duo to use.' +\r\n 'Add an element like ' +\r\n 'to this page. ' +\r\n 'See https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe ' +\r\n 'for more information.');\r\n }\r\n // we've got an iframe, away we go!\r\n ready();\r\n // always clean up after yourself\r\n offReady(onDOMReady);\r\n }\r\n /**\r\n * Validate that a MessageEvent came from the Duo service, and that it\r\n * is a properly formatted payload.\r\n *\r\n * The Google Chrome sign-in page injects some JS into pages that also\r\n * make use of postMessage, so we need to do additional validation above\r\n * and beyond the origin.\r\n *\r\n * @param {MessageEvent} event Message received via postMessage\r\n */\r\n function isDuoMessage(event) {\r\n return Boolean(event.origin === ('https://' + host) &&\r\n typeof event.data === 'string' &&\r\n (event.data.match(DUO_MESSAGE_FORMAT) ||\r\n event.data.match(DUO_ERROR_FORMAT) ||\r\n event.data.match(DUO_OPEN_WINDOW_FORMAT)));\r\n }\r\n /**\r\n * Validate the request token and prepare for the iframe to become ready.\r\n *\r\n * All options below can be passed into an options hash to `Duo.init`, or\r\n * specified on the iframe using `data-` attributes.\r\n *\r\n * Options specified using the options hash will take precedence over\r\n * `data-` attributes.\r\n *\r\n * Example using options hash:\r\n * ```javascript\r\n * Duo.init({\r\n * iframe: \"some_other_id\",\r\n * host: \"api-main.duo.test\",\r\n * sig_request: \"...\",\r\n * post_action: \"/auth\",\r\n * post_argument: \"resp\"\r\n * });\r\n * ```\r\n *\r\n * Example using `data-` attributes:\r\n * ```\r\n * \r\n * ```\r\n *\r\n * @param {Object} options\r\n * @param {String} options.iframe The iframe, or id of an iframe to set up\r\n * @param {String} options.host Hostname\r\n * @param {String} options.sig_request Request token\r\n * @param {String} [options.post_action=''] URL to POST back to after successful auth\r\n * @param {String} [options.post_argument='sig_response'] Parameter name to use for response token\r\n * @param {Function} [options.submit_callback] If provided, duo will not submit the form instead execute\r\n * the callback function with reference to the \"duo_form\" form object\r\n * submit_callback can be used to prevent the webpage from reloading.\r\n */\r\n function init(options) {\r\n if (options) {\r\n if (options.host) {\r\n host = options.host;\r\n }\r\n if (options.sig_request) {\r\n parseSigRequest(options.sig_request);\r\n }\r\n if (options.post_action) {\r\n postAction = options.post_action;\r\n }\r\n if (options.post_argument) {\r\n postArgument = options.post_argument;\r\n }\r\n if (options.iframe) {\r\n if (options.iframe.tagName) {\r\n iframe = options.iframe;\r\n }\r\n else if (typeof options.iframe === 'string') {\r\n iframeId = options.iframe;\r\n }\r\n }\r\n if (typeof options.submit_callback === 'function') {\r\n submitCallback = options.submit_callback;\r\n }\r\n }\r\n // if we were given an iframe, no need to wait for the rest of the DOM\r\n if (false && iframe) {\r\n ready();\r\n }\r\n else {\r\n // try to find the iframe in the DOM\r\n iframe = document.getElementById(iframeId);\r\n // iframe is in the DOM, away we go!\r\n if (iframe) {\r\n ready();\r\n }\r\n else {\r\n // wait until the DOM is ready, then try again\r\n onReady(onDOMReady);\r\n }\r\n }\r\n // always clean up after yourself!\r\n offReady(init);\r\n }\r\n /**\r\n * This function is called when a message was received from another domain\r\n * using the `postMessage` API. Check that the event came from the Duo\r\n * service domain, and that the message is a properly formatted payload,\r\n * then perform the post back to the primary service.\r\n *\r\n * @param event Event object (contains origin and data)\r\n */\r\n function onReceivedMessage(event) {\r\n if (isDuoMessage(event)) {\r\n if (event.data.match(DUO_OPEN_WINDOW_FORMAT)) {\r\n var url = event.data.substring(\"DUO_OPEN_WINDOW|\".length);\r\n if (isValidUrlToOpen(url)) {\r\n // Open the URL that comes after the DUO_WINDOW_OPEN token.\r\n window.open(url, \"_self\");\r\n }\r\n }\r\n else {\r\n // the event came from duo, do the post back\r\n doPostBack(event.data);\r\n // always clean up after yourself!\r\n offMessage(onReceivedMessage);\r\n }\r\n }\r\n }\r\n /**\r\n * Validate that this passed in URL is one that we will actually allow to\r\n * be opened.\r\n * @param url String URL that the message poster wants to open\r\n * @returns {boolean} true if we allow this url to be opened in the window\r\n */\r\n function isValidUrlToOpen(url) {\r\n if (!url) {\r\n return false;\r\n }\r\n var parser = document.createElement('a');\r\n parser.href = url;\r\n if (parser.protocol === \"duotrustedendpoints:\") {\r\n return true;\r\n }\r\n else if (parser.protocol !== \"https:\") {\r\n return false;\r\n }\r\n for (var i = 0; i < VALID_OPEN_WINDOW_DOMAINS.length; i++) {\r\n if (parser.hostname.endsWith(\".\" + VALID_OPEN_WINDOW_DOMAINS[i]) ||\r\n parser.hostname === VALID_OPEN_WINDOW_DOMAINS[i]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n /**\r\n * Point the iframe at Duo, then wait for it to postMessage back to us.\r\n */\r\n function ready() {\r\n if (!host) {\r\n host = getDataAttribute(iframe, 'host');\r\n if (!host) {\r\n throwError('No API hostname is given for Duo to use. Be sure to pass ' +\r\n 'a `host` parameter to Duo.init, or through the `data-host` ' +\r\n 'attribute on the iframe element.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\r\n }\r\n }\r\n if (!duoSig || !appSig) {\r\n parseSigRequest(getDataAttribute(iframe, 'sigRequest'));\r\n if (!duoSig || !appSig) {\r\n throwError('No valid signed request is given. Be sure to give the ' +\r\n '`sig_request` parameter to Duo.init, or use the ' +\r\n '`data-sig-request` attribute on the iframe element.', 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe');\r\n }\r\n }\r\n // if postAction/Argument are defaults, see if they are specified\r\n // as data attributes on the iframe\r\n if (postAction === '') {\r\n postAction = getDataAttribute(iframe, 'postAction') || postAction;\r\n }\r\n if (postArgument === 'sig_response') {\r\n postArgument = getDataAttribute(iframe, 'postArgument') || postArgument;\r\n }\r\n // point the iframe at Duo\r\n iframe.src = [\r\n 'https://', host, '/frame/web/v1/auth?tx=', duoSig,\r\n '&parent=', encodeURIComponent(document.location.href),\r\n '&v=2.6'\r\n ].join('');\r\n // listen for the 'message' event\r\n onMessage(onReceivedMessage);\r\n }\r\n /**\r\n * We received a postMessage from Duo. POST back to the primary service\r\n * with the response token, and any additional user-supplied parameters\r\n * given in form#duo_form.\r\n */\r\n function doPostBack(response) {\r\n // create a hidden input to contain the response token\r\n var input = document.createElement('input');\r\n input.type = 'hidden';\r\n input.name = postArgument;\r\n input.value = response + ':' + appSig;\r\n // user may supply their own form with additional inputs\r\n var form = document.getElementById('duo_form');\r\n // if the form doesn't exist, create one\r\n if (!form) {\r\n form = document.createElement('form');\r\n // insert the new form after the iframe\r\n iframe.parentElement.insertBefore(form, iframe.nextSibling);\r\n }\r\n // make sure we are actually posting to the right place\r\n form.method = 'POST';\r\n form.action = postAction;\r\n // add the response token input to the form\r\n form.appendChild(input);\r\n // away we go!\r\n if (typeof submitCallback === \"function\") {\r\n submitCallback.call(null, form);\r\n }\r\n else {\r\n form.submit();\r\n }\r\n }\r\n return {\r\n init: init,\r\n _onReady: onReady,\r\n _parseSigRequest: parseSigRequest,\r\n _isDuoMessage: isDuoMessage,\r\n _doPostBack: doPostBack\r\n };\r\n}));\r\n//# sourceMappingURL=duo.js.map","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { TwoFactorOptionsComponent } from './two-factor-options.component';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { TwoFactorComponent as BaseTwoFactorComponent } from 'jslib/angular/components/two-factor.component';\n\n@Component({\n selector: 'app-two-factor',\n templateUrl: 'two-factor.component.html',\n})\nexport class TwoFactorComponent extends BaseTwoFactorComponent {\n @ViewChild('twoFactorOptions', { read: ViewContainerRef }) twoFactorOptionsModal: ViewContainerRef;\n\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, apiService: ApiService,\n platformUtilsService: PlatformUtilsService, private stateService: StateService,\n environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(authService, router, analytics, toasterService, i18nService, apiService,\n platformUtilsService, window, environmentService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n anotherMethod() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n const modal = this.twoFactorOptionsModal.createComponent(factory).instance;\n const childComponent = modal.show(TwoFactorOptionsComponent,\n this.twoFactorOptionsModal);\n\n childComponent.onProviderSelected.subscribe(async (provider: TwoFactorProviderType) => {\n modal.close();\n this.selectedProviderType = provider;\n await this.init();\n });\n childComponent.onRecoverSelected.subscribe(() => {\n modal.close();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/login.component';\n\n@Component({\n selector: 'app-login',\n templateUrl: 'login.component.html',\n})\nexport class LoginComponent extends BaseLoginComponent {\n constructor(authService: AuthService, router: Router,\n analytics: Angulartics2, toasterService: ToasterService,\n i18nService: I18nService, private route: ActivatedRoute,\n storageService: StorageService, private stateService: StateService) {\n super(authService, router, analytics, toasterService, i18nService, storageService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n async ngOnInit() {\n this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n await super.ngOnInit();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","import {\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\n@Component({\r\n selector: 'app-frontend-layout',\r\n templateUrl: 'frontend-layout.component.html',\r\n})\r\nexport class FrontendLayoutComponent implements OnInit, OnDestroy {\r\n version: string;\r\n\r\n constructor(private platformUtilsService: PlatformUtilsService) { }\r\n\r\n ngOnInit() {\r\n this.version = this.platformUtilsService.getApplicationVersion();\r\n document.body.classList.add('layout_frontend');\r\n }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","export abstract class SettingsService {\r\n clearCache: () => void;\r\n getEquivalentDomains: () => Promise;\r\n setEquivalentDomains: (equivalentDomains: string[][]) => Promise;\r\n clear: (userId: string) => Promise;\r\n}\r\n","export abstract class LockService {\r\n checkLock: () => Promise;\r\n lock: () => Promise;\r\n setLockOption: (lockOption: number) => Promise;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Injectable()\r\nexport class UnauthGuardService implements CanActivate {\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async canActivate() {\r\n const isAuthed = await this.userService.isAuthenticated();\r\n if (isAuthed) {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n this.router.navigate(['lock']);\r\n } else {\r\n this.router.navigate(['vault']);\r\n }\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Injectable()\r\nexport class OrganizationTypeGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.parent.params.organizationId);\r\n const allowedTypes = route.data == null ? null : route.data.allowedTypes as OrganizationUserType[];\r\n if (allowedTypes == null || allowedTypes.indexOf(org.type) === -1) {\r\n this.router.navigate(['/organizations', org.id]);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Injectable()\r\nexport class OrganizationGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.params.organizationId);\r\n if (org == null) {\r\n this.router.navigate(['/']);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { UserService } from '../../abstractions/user.service';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n constructor(private cryptoService: CryptoService, private userService: UserService, private router: Router,\n private messagingService: MessagingService) { }\n\n async canActivate() {\n const isAuthed = await this.userService.isAuthenticated();\n if (!isAuthed) {\n this.messagingService.send('logout');\n return false;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n this.router.navigate(['lock']);\n return false;\n }\n\n return true;\n }\n}\n","import { StorageService } from '../abstractions/storage.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService as UserServiceAbstraction } from '../abstractions/user.service';\n\nimport { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nconst Keys = {\n userId: 'userId',\n userEmail: 'userEmail',\n stamp: 'securityStamp',\n organizationsPrefix: 'organizations_',\n};\n\nexport class UserService implements UserServiceAbstraction {\n userId: string;\n email: string;\n stamp: string;\n\n constructor(private tokenService: TokenService, private storageService: StorageService) {\n }\n\n setUserIdAndEmail(userId: string, email: string): Promise {\n this.email = email;\n this.userId = userId;\n\n return Promise.all([\n this.storageService.save(Keys.userEmail, email),\n this.storageService.save(Keys.userId, userId),\n ]);\n }\n\n setSecurityStamp(stamp: string): Promise {\n this.stamp = stamp;\n return this.storageService.save(Keys.stamp, stamp);\n }\n\n async getUserId(): Promise {\n if (this.userId != null) {\n return this.userId;\n }\n\n this.userId = await this.storageService.get(Keys.userId);\n return this.userId;\n }\n\n async getEmail(): Promise {\n if (this.email != null) {\n return this.email;\n }\n\n this.email = await this.storageService.get(Keys.userEmail);\n return this.email;\n }\n\n async getSecurityStamp(): Promise {\n if (this.stamp != null) {\n return this.stamp;\n }\n\n this.stamp = await this.storageService.get(Keys.stamp);\n return this.stamp;\n }\n\n async clear(): Promise {\n const userId = await this.getUserId();\n\n await Promise.all([\n this.storageService.remove(Keys.userId),\n this.storageService.remove(Keys.userEmail),\n this.storageService.remove(Keys.stamp),\n this.clearOrganizations(userId),\n ]);\n\n this.userId = this.email = this.stamp = null;\n }\n\n async isAuthenticated(): Promise {\n const token = await this.tokenService.getToken();\n if (token == null) {\n return false;\n }\n\n const userId = await this.getUserId();\n return userId != null;\n }\n\n async getOrganization(id: string): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n if (organizations == null || !organizations.hasOwnProperty(id)) {\n return null;\n }\n\n return new Organization(organizations[id]);\n }\n\n async getAllOrganizations(): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n const response: Organization[] = [];\n for (const id in organizations) {\n if (organizations.hasOwnProperty(id)) {\n response.push(new Organization(organizations[id]));\n }\n }\n return response;\n }\n\n async replaceOrganizations(organizations: { [id: string]: OrganizationData; }): Promise {\n const userId = await this.getUserId();\n await this.storageService.save(Keys.organizationsPrefix + userId, organizations);\n }\n\n async clearOrganizations(userId: string): Promise {\n await this.storageService.remove(Keys.organizationsPrefix + userId);\n }\n}\n","import { ConstantsService } from './constants.service';\r\n\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst b32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';\r\n\r\nexport class TotpService implements TotpServiceAbstraction {\r\n constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService) {}\r\n\r\n async getCode(keyb32: string): Promise {\r\n const epoch = Math.round(new Date().getTime() / 1000.0);\r\n const timeHex = this.leftpad(this.dec2hex(Math.floor(epoch / 30)), 16, '0');\r\n const timeBytes = Utils.fromHexToArray(timeHex);\r\n const keyBytes = this.b32tobytes(keyb32);\r\n\r\n if (!keyBytes.length || !timeBytes.length) {\r\n return null;\r\n }\r\n\r\n const hashHex = await this.sign(keyBytes, timeBytes);\r\n if (!hashHex) {\r\n return null;\r\n }\r\n\r\n const offset = this.hex2dec(hashHex.substring(hashHex.length - 1));\r\n // tslint:disable-next-line\r\n let otp = (this.hex2dec(hashHex.substr(offset * 2, 8)) & this.hex2dec('7fffffff')) + '';\r\n otp = (otp).substr(otp.length - 6, 6);\r\n return otp;\r\n }\r\n\r\n async isAutoCopyEnabled(): Promise {\r\n return !(await this.storageService.get(ConstantsService.disableAutoTotpCopyKey));\r\n }\r\n\r\n // Helpers\r\n\r\n private leftpad(s: string, l: number, p: string): string {\r\n if (l + 1 >= s.length) {\r\n s = Array(l + 1 - s.length).join(p) + s;\r\n }\r\n return s;\r\n }\r\n\r\n private dec2hex(d: number): string {\r\n return (d < 15.5 ? '0' : '') + Math.round(d).toString(16);\r\n }\r\n\r\n private hex2dec(s: string): number {\r\n return parseInt(s, 16);\r\n }\r\n\r\n private b32tohex(s: string): string {\r\n s = s.toUpperCase();\r\n let cleanedInput = '';\r\n\r\n for (let i = 0; i < s.length; i++) {\r\n if (b32Chars.indexOf(s[i]) < 0) {\r\n continue;\r\n }\r\n\r\n cleanedInput += s[i];\r\n }\r\n s = cleanedInput;\r\n\r\n let bits = '';\r\n let hex = '';\r\n for (let i = 0; i < s.length; i++) {\r\n const byteIndex = b32Chars.indexOf(s.charAt(i));\r\n if (byteIndex < 0) {\r\n continue;\r\n }\r\n bits += this.leftpad(byteIndex.toString(2), 5, '0');\r\n }\r\n for (let i = 0; i + 4 <= bits.length; i += 4) {\r\n const chunk = bits.substr(i, 4);\r\n hex = hex + parseInt(chunk, 2).toString(16);\r\n }\r\n return hex;\r\n }\r\n\r\n private b32tobytes(s: string): Uint8Array {\r\n return Utils.fromHexToArray(this.b32tohex(s));\r\n }\r\n\r\n private async sign(keyBytes: Uint8Array, timeBytes: Uint8Array) {\r\n const signature = await this.cryptoFunctionService.hmac(timeBytes.buffer, keyBytes.buffer, 'sha1');\r\n return Utils.fromBufferToHex(signature);\r\n }\r\n}\r\n","import { ConstantsService } from './constants.service';\n\nimport { StorageService } from '../abstractions/storage.service';\nimport { TokenService as TokenServiceAbstraction } from '../abstractions/token.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n accessToken: 'accessToken',\n refreshToken: 'refreshToken',\n twoFactorTokenPrefix: 'twoFactorToken_',\n};\n\nexport class TokenService implements TokenServiceAbstraction {\n token: string;\n decodedToken: any;\n refreshToken: string;\n\n constructor(private storageService: StorageService) {\n }\n\n setTokens(accessToken: string, refreshToken: string): Promise {\n return Promise.all([\n this.setToken(accessToken),\n this.setRefreshToken(refreshToken),\n ]);\n }\n\n setToken(token: string): Promise {\n this.token = token;\n this.decodedToken = null;\n return this.storageService.save(Keys.accessToken, token);\n }\n\n async getToken(): Promise {\n if (this.token != null) {\n return this.token;\n }\n\n this.token = await this.storageService.get(Keys.accessToken);\n return this.token;\n }\n\n setRefreshToken(refreshToken: string): Promise {\n this.refreshToken = refreshToken;\n return this.storageService.save(Keys.refreshToken, refreshToken);\n }\n\n async getRefreshToken(): Promise {\n if (this.refreshToken != null) {\n return this.refreshToken;\n }\n\n this.refreshToken = await this.storageService.get(Keys.refreshToken);\n return this.refreshToken;\n }\n\n setTwoFactorToken(token: string, email: string): Promise {\n return this.storageService.save(Keys.twoFactorTokenPrefix + email, token);\n }\n\n getTwoFactorToken(email: string): Promise {\n return this.storageService.get(Keys.twoFactorTokenPrefix + email);\n }\n\n clearTwoFactorToken(email: string): Promise {\n return this.storageService.remove(Keys.twoFactorTokenPrefix + email);\n }\n\n clearToken(): Promise {\n this.token = null;\n this.decodedToken = null;\n this.refreshToken = null;\n\n return Promise.all([\n this.storageService.remove(Keys.accessToken),\n this.storageService.remove(Keys.refreshToken),\n ]);\n }\n\n // jwthelper methods\n // ref https://github.com/auth0/angular-jwt/blob/master/src/angularJwt/services/jwt.js\n\n decodeToken(): any {\n if (this.decodedToken) {\n return this.decodedToken;\n }\n\n if (this.token == null) {\n throw new Error('Token not found.');\n }\n\n const parts = this.token.split('.');\n if (parts.length !== 3) {\n throw new Error('JWT must have 3 parts');\n }\n\n const decoded = Utils.fromUrlB64ToUtf8(parts[1]);\n if (decoded == null) {\n throw new Error('Cannot decode the token');\n }\n\n this.decodedToken = JSON.parse(decoded);\n return this.decodedToken;\n }\n\n getTokenExpirationDate(): Date {\n const decoded = this.decodeToken();\n if (typeof decoded.exp === 'undefined') {\n return null;\n }\n\n const d = new Date(0); // The 0 here is the key, which sets the date to the epoch\n d.setUTCSeconds(decoded.exp);\n return d;\n }\n\n tokenSecondsRemaining(offsetSeconds: number = 0): number {\n const d = this.getTokenExpirationDate();\n if (d == null) {\n return 0;\n }\n\n const msRemaining = d.valueOf() - (new Date().valueOf() + (offsetSeconds * 1000));\n return Math.round(msRemaining / 1000);\n }\n\n tokenNeedsRefresh(minutes: number = 5): boolean {\n const sRemaining = this.tokenSecondsRemaining();\n return sRemaining < (60 * minutes);\n }\n\n getUserId(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.sub === 'undefined') {\n throw new Error('No user id found');\n }\n\n return decoded.sub as string;\n }\n\n getEmail(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.email === 'undefined') {\n throw new Error('No email found');\n }\n\n return decoded.email as string;\n }\n\n getEmailVerified(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.email_verified === 'undefined') {\n throw new Error('No email verification found');\n }\n\n return decoded.email_verified as boolean;\n }\n\n getName(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.name === 'undefined') {\n return null;\n }\n\n return decoded.name as string;\n }\n\n getPremium(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.premium === 'undefined') {\n return false;\n }\n\n return decoded.premium as boolean;\n }\n\n getIssuer(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.iss === 'undefined') {\n throw new Error('No issuer found');\n }\n\n return decoded.iss as string;\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from '../abstractions/sync.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { FolderData } from '../models/data/folderData';\nimport { OrganizationData } from '../models/data/organizationData';\n\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\n\nconst Keys = {\n lastSyncPrefix: 'lastSync_',\n};\n\nexport class SyncService implements SyncServiceAbstraction {\n syncInProgress: boolean = false;\n\n constructor(private userService: UserService, private apiService: ApiService,\n private settingsService: SettingsService, private folderService: FolderService,\n private cipherService: CipherService, private cryptoService: CryptoService,\n private collectionService: CollectionService, private storageService: StorageService,\n private messagingService: MessagingService, private logoutCallback: (expired: boolean) => Promise) {\n }\n\n async getLastSync(): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return null;\n }\n\n const lastSync = await this.storageService.get(Keys.lastSyncPrefix + userId);\n if (lastSync) {\n return new Date(lastSync);\n }\n\n return null;\n }\n\n async setLastSync(date: Date): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return;\n }\n\n await this.storageService.save(Keys.lastSyncPrefix + userId, date.toJSON());\n }\n\n syncStarted() {\n this.syncInProgress = true;\n this.messagingService.send('syncStarted');\n }\n\n syncCompleted(successfully: boolean) {\n this.syncInProgress = false;\n this.messagingService.send('syncCompleted', { successfully: successfully });\n }\n\n async fullSync(forceSync: boolean): Promise {\n this.syncStarted();\n const isAuthenticated = await this.userService.isAuthenticated();\n if (!isAuthenticated) {\n this.syncCompleted(false);\n return false;\n }\n\n const now = new Date();\n const needsSyncResult = await this.needsSyncing(forceSync);\n const needsSync = needsSyncResult[0];\n const skipped = needsSyncResult[1];\n\n if (skipped) {\n this.syncCompleted(false);\n return false;\n }\n\n if (!needsSync) {\n await this.setLastSync(now);\n this.syncCompleted(false);\n return false;\n }\n\n const userId = await this.userService.getUserId();\n try {\n const response = await this.apiService.getSync();\n\n await this.syncProfile(response.profile);\n await this.syncFolders(userId, response.folders);\n await this.syncCollections(response.collections);\n await this.syncCiphers(userId, response.ciphers);\n await this.syncSettings(userId, response.domains);\n\n await this.setLastSync(now);\n this.syncCompleted(true);\n return true;\n } catch (e) {\n this.syncCompleted(false);\n return false;\n }\n }\n\n // Helpers\n\n private async needsSyncing(forceSync: boolean) {\n if (forceSync) {\n return [true, false];\n }\n\n try {\n const response = await this.apiService.getAccountRevisionDate();\n const accountRevisionDate = new Date(response);\n const lastSync = await this.getLastSync();\n if (lastSync != null && accountRevisionDate <= lastSync) {\n return [false, false];\n }\n\n return [true, false];\n } catch (e) {\n return [false, true];\n }\n }\n\n private async syncProfile(response: ProfileResponse) {\n const stamp = await this.userService.getSecurityStamp();\n if (stamp != null && stamp !== response.securityStamp) {\n if (this.logoutCallback != null) {\n await this.logoutCallback(true);\n }\n\n throw new Error('Stamp has changed');\n }\n\n await this.cryptoService.setEncKey(response.key);\n await this.cryptoService.setEncPrivateKey(response.privateKey);\n await this.cryptoService.setOrgKeys(response.organizations);\n await this.userService.setSecurityStamp(response.securityStamp);\n await this.userService.setSecurityStamp(response.securityStamp);\n\n const organizations: { [id: string]: OrganizationData; } = {};\n response.organizations.forEach((o) => {\n organizations[o.id] = new OrganizationData(o);\n });\n return await this.userService.replaceOrganizations(organizations);\n }\n\n private async syncFolders(userId: string, response: FolderResponse[]) {\n const folders: { [id: string]: FolderData; } = {};\n response.forEach((f) => {\n folders[f.id] = new FolderData(f, userId);\n });\n return await this.folderService.replace(folders);\n }\n\n private async syncCollections(response: CollectionDetailsResponse[]) {\n const collections: { [id: string]: CollectionData; } = {};\n response.forEach((c) => {\n collections[c.id] = new CollectionData(c);\n });\n return await this.collectionService.replace(collections);\n }\n\n private async syncCiphers(userId: string, response: CipherResponse[]) {\n const ciphers: { [id: string]: CipherData; } = {};\n response.forEach((c) => {\n ciphers[c.id] = new CipherData(c, userId);\n });\n return await this.cipherService.replace(ciphers);\n }\n\n private async syncSettings(userId: string, response: DomainsResponse) {\n let eqDomains: string[][] = [];\n if (response != null && response.equivalentDomains != null) {\n eqDomains = eqDomains.concat(response.equivalentDomains);\n }\n\n if (response != null && response.globalEquivalentDomains != null) {\n response.globalEquivalentDomains.forEach((global) => {\n if (global.domains.length > 0) {\n eqDomains.push(global.domains);\n }\n });\n }\n\n return this.settingsService.setEquivalentDomains(eqDomains);\n }\n}\n","import { StateService as StateServiceAbstraction } from '../abstractions/state.service';\r\n\r\nexport class StateService implements StateServiceAbstraction {\r\n private state: any = {};\r\n\r\n get(key: string): Promise {\r\n if (this.state.hasOwnProperty(key)) {\r\n return Promise.resolve(this.state[key]);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n this.state[key] = obj;\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n delete this.state[key];\r\n return Promise.resolve();\r\n }\r\n\r\n purge(): Promise {\r\n this.state = {};\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { SettingsService as SettingsServiceAbstraction } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nconst Keys = {\r\n settingsPrefix: 'settings_',\r\n equivalentDomains: 'equivalentDomains',\r\n};\r\n\r\nexport class SettingsService implements SettingsServiceAbstraction {\r\n private settingsCache: any;\r\n\r\n constructor(private userService: UserService, private storageService: StorageService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.settingsCache = null;\r\n }\r\n\r\n getEquivalentDomains(): Promise {\r\n return this.getSettingsKey(Keys.equivalentDomains);\r\n }\r\n\r\n async setEquivalentDomains(equivalentDomains: string[][]): Promise {\r\n await this.setSettingsKey(Keys.equivalentDomains, equivalentDomains);\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.settingsPrefix + userId);\r\n this.settingsCache = null;\r\n }\r\n\r\n // Helpers\r\n\r\n private async getSettings(): Promise {\r\n if (this.settingsCache == null) {\r\n const userId = await this.userService.getUserId();\r\n this.settingsCache = this.storageService.get(Keys.settingsPrefix + userId);\r\n }\r\n return this.settingsCache;\r\n }\r\n\r\n private async getSettingsKey(key: string): Promise {\r\n const settings = await this.getSettings();\r\n if (settings != null && settings[key]) {\r\n return settings[key];\r\n }\r\n return null;\r\n }\r\n\r\n private async setSettingsKey(key: string, value: any): Promise {\r\n const userId = await this.userService.getUserId();\r\n let settings = await this.getSettings();\r\n if (!settings) {\r\n settings = {};\r\n }\r\n\r\n settings[key] = value;\r\n await this.storageService.save(Keys.settingsPrefix + userId, settings);\r\n this.settingsCache = settings;\r\n }\r\n}\r\n","import { CipherString } from '../models/domain/cipherString';\nimport { PasswordHistory } from '../models/domain/passwordHistory';\n\nimport { CryptoService } from '../abstractions/crypto.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from '../abstractions/passwordGeneration.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nconst DefaultOptions = {\n length: 14,\n ambiguous: false,\n number: true,\n minNumber: 1,\n uppercase: true,\n minUppercase: 0,\n lowercase: true,\n minLowercase: 0,\n special: false,\n minSpecial: 1,\n};\n\nconst Keys = {\n options: 'passwordGenerationOptions',\n history: 'generatedPasswordHistory',\n};\n\nconst MaxPasswordsInHistory = 100;\n\nexport class PasswordGenerationService implements PasswordGenerationServiceAbstraction {\n private optionsCache: any;\n private history: PasswordHistory[];\n\n constructor(private cryptoService: CryptoService, private storageService: StorageService) { }\n\n async generatePassword(options: any): Promise {\n // overload defaults with given options\n const o = Object.assign({}, DefaultOptions, options);\n\n // sanitize\n if (o.uppercase && o.minUppercase <= 0) {\n o.minUppercase = 1;\n }\n if (o.lowercase && o.minLowercase <= 0) {\n o.minLowercase = 1;\n }\n if (o.number && o.minNumber <= 0) {\n o.minNumber = 1;\n }\n if (o.special && o.minSpecial <= 0) {\n o.minSpecial = 1;\n }\n\n if (!o.length || o.length < 1) {\n o.length = 10;\n }\n\n const minLength: number = o.minUppercase + o.minLowercase + o.minNumber + o.minSpecial;\n if (o.length < minLength) {\n o.length = minLength;\n }\n\n const positions: string[] = [];\n if (o.lowercase && o.minLowercase > 0) {\n for (let i = 0; i < o.minLowercase; i++) {\n positions.push('l');\n }\n }\n if (o.uppercase && o.minUppercase > 0) {\n for (let i = 0; i < o.minUppercase; i++) {\n positions.push('u');\n }\n }\n if (o.number && o.minNumber > 0) {\n for (let i = 0; i < o.minNumber; i++) {\n positions.push('n');\n }\n }\n if (o.special && o.minSpecial > 0) {\n for (let i = 0; i < o.minSpecial; i++) {\n positions.push('s');\n }\n }\n while (positions.length < o.length) {\n positions.push('a');\n }\n\n // shuffle\n await this.shuffleArray(positions);\n\n // build out the char sets\n let allCharSet = '';\n\n let lowercaseCharSet = 'abcdefghijkmnopqrstuvwxyz';\n if (o.ambiguous) {\n lowercaseCharSet += 'l';\n }\n if (o.lowercase) {\n allCharSet += lowercaseCharSet;\n }\n\n let uppercaseCharSet = 'ABCDEFGHIJKLMNPQRSTUVWXYZ';\n if (o.ambiguous) {\n uppercaseCharSet += 'O';\n }\n if (o.uppercase) {\n allCharSet += uppercaseCharSet;\n }\n\n let numberCharSet = '23456789';\n if (o.ambiguous) {\n numberCharSet += '01';\n }\n if (o.number) {\n allCharSet += numberCharSet;\n }\n\n const specialCharSet = '!@#$%^&*';\n if (o.special) {\n allCharSet += specialCharSet;\n }\n\n let password = '';\n for (let i = 0; i < o.length; i++) {\n let positionChars: string;\n switch (positions[i]) {\n case 'l':\n positionChars = lowercaseCharSet;\n break;\n case 'u':\n positionChars = uppercaseCharSet;\n break;\n case 'n':\n positionChars = numberCharSet;\n break;\n case 's':\n positionChars = specialCharSet;\n break;\n case 'a':\n positionChars = allCharSet;\n break;\n default:\n break;\n }\n\n const randomCharIndex = await this.cryptoService.randomNumber(0, positionChars.length - 1);\n password += positionChars.charAt(randomCharIndex);\n }\n\n return password;\n }\n\n async getOptions() {\n if (this.optionsCache == null) {\n const options = await this.storageService.get(Keys.options);\n if (options == null) {\n this.optionsCache = DefaultOptions;\n } else {\n this.optionsCache = options;\n }\n }\n\n return this.optionsCache;\n }\n\n async saveOptions(options: any) {\n await this.storageService.save(Keys.options, options);\n this.optionsCache = options;\n }\n\n async getHistory(): Promise {\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n return new Array();\n }\n\n if (!this.history) {\n const encrypted = await this.storageService.get(Keys.history);\n this.history = await this.decryptHistory(encrypted);\n }\n\n return this.history || new Array();\n }\n\n async addHistory(password: string): Promise {\n // Cannot add new history if no key is available\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n return;\n }\n\n const currentHistory = await this.getHistory();\n\n // Prevent duplicates\n if (this.matchesPrevious(password, currentHistory)) {\n return;\n }\n\n currentHistory.unshift(new PasswordHistory(password, Date.now()));\n\n // Remove old items.\n if (currentHistory.length > MaxPasswordsInHistory) {\n currentHistory.pop();\n }\n\n const newHistory = await this.encryptHistory(currentHistory);\n return await this.storageService.save(Keys.history, newHistory);\n }\n\n async clear(): Promise {\n this.history = [];\n return await this.storageService.remove(Keys.history);\n }\n\n private async encryptHistory(history: PasswordHistory[]): Promise {\n if (history == null || history.length === 0) {\n return Promise.resolve([]);\n }\n\n const promises = history.map(async (item) => {\n const encrypted = await this.cryptoService.encrypt(item.password);\n return new PasswordHistory(encrypted.encryptedString, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private async decryptHistory(history: PasswordHistory[]): Promise {\n if (history == null || history.length === 0) {\n return Promise.resolve([]);\n }\n\n const promises = history.map(async (item) => {\n const decrypted = await this.cryptoService.decryptToUtf8(new CipherString(item.password));\n return new PasswordHistory(decrypted, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private matchesPrevious(password: string, history: PasswordHistory[]): boolean {\n if (history == null || history.length === 0) {\n return false;\n }\n\n return history[history.length - 1].password === password;\n }\n\n // ref: https://stackoverflow.com/a/12646864/1090359\n private async shuffleArray(array: string[]) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = await this.cryptoService.randomNumber(0, i);\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { LockService as LockServiceAbstraction } from '../abstractions/lock.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class LockService implements LockServiceAbstraction {\n private inited = false;\n\n constructor(private cipherService: CipherService, private folderService: FolderService,\n private collectionService: CollectionService, private cryptoService: CryptoService,\n private platformUtilsService: PlatformUtilsService, private storageService: StorageService,\n private messagingService: MessagingService, private lockedCallback: () => Promise) {\n }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.checkLock();\n setInterval(() => this.checkLock(), 10 * 1000); // check every 10 seconds\n }\n }\n\n async checkLock(): Promise {\n if (this.platformUtilsService.isViewOpen()) {\n // Do not lock\n return;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n // no key so no need to lock\n return;\n }\n\n let lockOption = this.platformUtilsService.lockTimeout();\n if (lockOption == null) {\n lockOption = await this.storageService.get(ConstantsService.lockOptionKey);\n }\n if (lockOption == null || lockOption < 0) {\n return;\n }\n\n const lastActive = await this.storageService.get(ConstantsService.lastActiveKey);\n if (lastActive == null) {\n return;\n }\n\n const lockOptionSeconds = lockOption * 60;\n const diffSeconds = ((new Date()).getTime() - lastActive) / 1000;\n if (diffSeconds >= lockOptionSeconds) {\n // need to lock now\n await this.lock();\n }\n }\n\n async lock(): Promise {\n await Promise.all([\n this.cryptoService.clearKey(),\n this.cryptoService.clearOrgKeys(true),\n this.cryptoService.clearKeyPair(true),\n this.cryptoService.clearEncKey(true),\n ]);\n\n this.folderService.clearCache();\n this.cipherService.clearCache();\n this.collectionService.clearCache();\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n }\n\n async setLockOption(lockOption: number): Promise {\n await this.storageService.save(ConstantsService.lockOptionKey, lockOption);\n await this.cryptoService.toggleKey();\n }\n}\n","import { I18nService as I18nServiceAbstraction } from '../abstractions/i18n.service';\n\nexport class I18nService implements I18nServiceAbstraction {\n locale: string;\n // First locale is the default (English)\n supportedTranslationLocales: string[] = ['en'];\n translationLocale: string;\n collator: Intl.Collator;\n\n protected inited: boolean;\n protected defaultMessages: any = {};\n protected localeMessages: any = {};\n\n constructor(protected systemLanguage: string, protected localesDirectory: string,\n protected getLocalesJson: (formattedLocale: string) => Promise) {\n this.systemLanguage = systemLanguage.replace('_', '-');\n }\n\n async init(locale?: string) {\n if (this.inited) {\n throw new Error('i18n already initialized.');\n }\n if (this.supportedTranslationLocales == null || this.supportedTranslationLocales.length === 0) {\n throw new Error('supportedTranslationLocales not set.');\n }\n\n this.inited = true;\n this.locale = this.translationLocale = locale != null ? locale : this.systemLanguage;\n\n try {\n this.collator = new Intl.Collator(this.locale, { numeric: true, sensitivity: 'base' });\n } catch {\n this.collator = null;\n }\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.translationLocale.slice(0, 2);\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.supportedTranslationLocales[0];\n }\n }\n\n if (this.localesDirectory != null) {\n await this.loadMessages(this.translationLocale, this.localeMessages);\n if (this.translationLocale !== this.supportedTranslationLocales[0]) {\n await this.loadMessages(this.supportedTranslationLocales[0], this.defaultMessages);\n }\n }\n }\n\n t(id: string, p1?: string, p2?: string, p3?: string): string {\n return this.translate(id, p1, p2, p3);\n }\n\n translate(id: string, p1?: string, p2?: string, p3?: string): string {\n let result: string;\n if (this.localeMessages.hasOwnProperty(id) && this.localeMessages[id]) {\n result = this.localeMessages[id];\n } else if (this.defaultMessages.hasOwnProperty(id) && this.defaultMessages[id]) {\n result = this.defaultMessages[id];\n } else {\n result = '';\n }\n\n if (result !== '') {\n if (p1 != null) {\n result = result.split('__$1__').join(p1);\n }\n if (p2 != null) {\n result = result.split('__$2__').join(p2);\n }\n if (p3 != null) {\n result = result.split('__$3__').join(p3);\n }\n }\n\n return result;\n }\n\n private async loadMessages(locale: string, messagesObj: any): Promise {\n const formattedLocale = locale.replace('-', '_');\n const locales = await this.getLocalesJson(formattedLocale);\n for (const prop in locales) {\n if (!locales.hasOwnProperty(prop)) {\n continue;\n }\n messagesObj[prop] = locales[prop].message;\n\n if (locales[prop].placeholders) {\n for (const placeProp in locales[prop].placeholders) {\n if (!locales[prop].placeholders.hasOwnProperty(placeProp) ||\n !locales[prop].placeholders[placeProp].content) {\n continue;\n }\n\n const replaceToken = '\\\\$' + placeProp.toUpperCase() + '\\\\$';\n let replaceContent = locales[prop].placeholders[placeProp].content;\n if (replaceContent === '$1' || replaceContent === '$2' || replaceContent === '$3') {\n replaceContent = '__' + replaceContent + '__';\n }\n messagesObj[prop] = messagesObj[prop].replace(new RegExp(replaceToken, 'g'), replaceContent);\n }\n }\n }\n }\n\n}\n","import { FolderResponse } from '../response/folderResponse';\r\n\r\nexport class FolderData {\r\n id: string;\r\n userId: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: FolderResponse, userId: string) {\r\n this.userId = userId;\r\n this.name = response.name;\r\n this.id = response.id;\r\n this.revisionDate = response.revisionDate;\r\n }\r\n}\r\n","import { FolderData } from '../models/data/folderData';\r\n\r\nimport { Folder } from '../models/domain/folder';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\n\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n foldersPrefix: 'folders_',\r\n ciphersPrefix: 'ciphers_',\r\n};\r\n\r\nexport class FolderService implements FolderServiceAbstraction {\r\n decryptedFolderCache: FolderView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private apiService: ApiService, private storageService: StorageService,\r\n private i18nService: I18nService, private cipherService: CipherService) { }\r\n\r\n clearCache(): void {\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise {\r\n const folder = new Folder();\r\n folder.id = model.id;\r\n folder.name = await this.cryptoService.encrypt(model.name, key);\r\n return folder;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null || !folders.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Folder(folders[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n const response: Folder[] = [];\r\n for (const id in folders) {\r\n if (folders.hasOwnProperty(id)) {\r\n response.push(new Folder(folders[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedFolderCache != null) {\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const decFolders: FolderView[] = [];\r\n const promises: Array> = [];\r\n const folders = await this.getAll();\r\n folders.forEach((folder) => {\r\n promises.push(folder.decrypt().then((f) => decFolders.push(f)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decFolders.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n\r\n const noneFolder = new FolderView();\r\n noneFolder.name = this.i18nService.t('noneFolder');\r\n decFolders.push(noneFolder);\r\n\r\n this.decryptedFolderCache = decFolders;\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n async saveWithServer(folder: Folder): Promise {\r\n const request = new FolderRequest(folder);\r\n\r\n let response: FolderResponse;\r\n if (folder.id == null) {\r\n response = await this.apiService.postFolder(request);\r\n folder.id = response.id;\r\n } else {\r\n response = await this.apiService.putFolder(folder.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new FolderData(response, userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(folder: FolderData | FolderData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n folders = {};\r\n }\r\n\r\n if (folder instanceof FolderData) {\r\n const f = folder as FolderData;\r\n folders[f.id] = f;\r\n } else {\r\n (folder as FolderData[]).forEach((f) => {\r\n folders[f.id] = f;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async replace(folders: { [id: string]: FolderData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.foldersPrefix + userId);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete folders[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete folders[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n\r\n // Items in a deleted folder are re-assigned to \"No Folder\"\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(Keys.ciphersPrefix + userId);\r\n if (ciphers != null) {\r\n const updates: CipherData[] = [];\r\n for (const cId in ciphers) {\r\n if (ciphers[cId].folderId === id) {\r\n ciphers[cId].folderId = null;\r\n updates.push(ciphers[cId]);\r\n }\r\n }\r\n if (updates.length > 0) {\r\n this.cipherService.upsert(updates);\r\n }\r\n }\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteFolder(id);\r\n await this.delete(id);\r\n }\r\n}\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { ConstantsService } from './constants.service';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from '../abstractions/environment.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class EnvironmentService implements EnvironmentServiceAbstraction {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n\n constructor(private apiService: ApiService, private storageService: StorageService) {}\n\n getWebVaultUrl(): string {\n if (this.webVaultUrl != null) {\n return this.webVaultUrl;\n } else if (this.baseUrl) {\n return this.baseUrl;\n }\n return null;\n }\n\n async setUrlsFromStorage(): Promise {\n const urlsObj: any = await this.storageService.get(ConstantsService.environmentUrlsKey);\n const urls = urlsObj || {\n base: null,\n api: null,\n identity: null,\n icons: null,\n webVault: null,\n };\n\n const envUrls = new EnvironmentUrls();\n\n if (urls.base) {\n this.baseUrl = envUrls.base = urls.base;\n await this.apiService.setUrls(envUrls);\n return;\n }\n\n this.webVaultUrl = urls.webVault;\n this.apiUrl = envUrls.api = urls.api;\n this.identityUrl = envUrls.identity = urls.identity;\n this.iconsUrl = urls.icons;\n await this.apiService.setUrls(envUrls);\n }\n\n async setUrls(urls: any): Promise {\n urls.base = this.formatUrl(urls.base);\n urls.webVault = this.formatUrl(urls.webVault);\n urls.api = this.formatUrl(urls.api);\n urls.identity = this.formatUrl(urls.identity);\n urls.icons = this.formatUrl(urls.icons);\n\n await this.storageService.save(ConstantsService.environmentUrlsKey, {\n base: urls.base,\n api: urls.api,\n identity: urls.identity,\n webVault: urls.webVault,\n icons: urls.icons,\n });\n\n this.baseUrl = urls.base;\n this.webVaultUrl = urls.webVault;\n this.apiUrl = urls.api;\n this.identityUrl = urls.identity;\n this.iconsUrl = urls.icons;\n\n const envUrls = new EnvironmentUrls();\n if (this.baseUrl) {\n envUrls.base = this.baseUrl;\n } else {\n envUrls.api = this.apiUrl;\n envUrls.identity = this.identityUrl;\n }\n\n await this.apiService.setUrls(envUrls);\n return urls;\n }\n\n private formatUrl(url: string): string {\n if (url == null || url === '') {\n return null;\n }\n\n url = url.replace(/\\/+$/g, '');\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\n url = 'https://' + url;\n }\n\n return url;\n }\n}\n","import { EncryptionType } from '../enums/encryptionType';\n\nimport { CipherString } from '../models/domain/cipherString';\nimport { EncryptedObject } from '../models/domain/encryptedObject';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n key: 'key',\n encOrgKeys: 'encOrgKeys',\n encPrivateKey: 'encPrivateKey',\n encKey: 'encKey',\n keyHash: 'keyHash',\n};\n\nexport class CryptoService implements CryptoServiceAbstraction {\n private key: SymmetricCryptoKey;\n private encKey: SymmetricCryptoKey;\n private legacyEtmKey: SymmetricCryptoKey;\n private keyHash: string;\n private publicKey: ArrayBuffer;\n private privateKey: ArrayBuffer;\n private orgKeys: Map;\n\n constructor(private storageService: StorageService, private secureStorageService: StorageService,\n private cryptoFunctionService: CryptoFunctionService) { }\n\n async setKey(key: SymmetricCryptoKey): Promise {\n this.key = key;\n\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\n if (option != null) {\n // if we have a lock option set, we do not store the key\n return;\n }\n\n return this.secureStorageService.save(Keys.key, key.keyB64);\n }\n\n setKeyHash(keyHash: string): Promise<{}> {\n this.keyHash = keyHash;\n return this.storageService.save(Keys.keyHash, keyHash);\n }\n\n async setEncKey(encKey: string): Promise<{}> {\n if (encKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encKey, encKey);\n this.encKey = null;\n }\n\n async setEncPrivateKey(encPrivateKey: string): Promise<{}> {\n if (encPrivateKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encPrivateKey, encPrivateKey);\n this.privateKey = null;\n }\n\n setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}> {\n const orgKeys: any = {};\n orgs.forEach((org) => {\n orgKeys[org.id] = org.key;\n });\n\n return this.storageService.save(Keys.encOrgKeys, orgKeys);\n }\n\n async getKey(): Promise {\n if (this.key != null) {\n return this.key;\n }\n\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\n if (option != null) {\n return null;\n }\n\n const key = await this.secureStorageService.get(Keys.key);\n if (key != null) {\n this.key = new SymmetricCryptoKey(Utils.fromB64ToArray(key).buffer);\n }\n\n return key == null ? null : this.key;\n }\n\n getKeyHash(): Promise {\n if (this.keyHash != null) {\n return Promise.resolve(this.keyHash);\n }\n\n return this.storageService.get(Keys.keyHash);\n }\n\n @sequentialize(() => 'getEncKey')\n async getEncKey(): Promise {\n if (this.encKey != null) {\n return this.encKey;\n }\n\n const encKey = await this.storageService.get(Keys.encKey);\n if (encKey == null) {\n return null;\n }\n\n const key = await this.getKey();\n if (key == null) {\n return null;\n }\n\n let decEncKey: ArrayBuffer;\n const encKeyCipher = new CipherString(encKey);\n if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_B64) {\n decEncKey = await this.decrypt(encKeyCipher, key);\n } else if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_HmacSha256_B64) {\n const newKey = await this.stretchKey(key);\n decEncKey = await this.decrypt(encKeyCipher, newKey);\n } else {\n throw new Error('Unsupported encKey type.');\n }\n\n if (decEncKey == null) {\n return null;\n }\n this.encKey = new SymmetricCryptoKey(decEncKey);\n return this.encKey;\n }\n\n async getPublicKey(): Promise {\n if (this.publicKey != null) {\n return this.publicKey;\n }\n\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n return null;\n }\n\n this.publicKey = await this.cryptoFunctionService.rsaExtractPublicKey(privateKey);\n return this.publicKey;\n }\n\n async getPrivateKey(): Promise {\n if (this.privateKey != null) {\n return this.privateKey;\n }\n\n const encPrivateKey = await this.storageService.get(Keys.encPrivateKey);\n if (encPrivateKey == null) {\n return null;\n }\n\n this.privateKey = await this.decrypt(new CipherString(encPrivateKey), null);\n return this.privateKey;\n }\n\n @sequentialize(() => 'getOrgKeys')\n async getOrgKeys(): Promise> {\n if (this.orgKeys != null && this.orgKeys.size > 0) {\n return this.orgKeys;\n }\n\n const encOrgKeys = await this.storageService.get(Keys.encOrgKeys);\n if (encOrgKeys == null) {\n return null;\n }\n\n const orgKeys: Map = new Map();\n let setKey = false;\n\n for (const orgId in encOrgKeys) {\n if (!encOrgKeys.hasOwnProperty(orgId)) {\n continue;\n }\n\n const decValue = await this.rsaDecrypt(encOrgKeys[orgId]);\n orgKeys.set(orgId, new SymmetricCryptoKey(decValue));\n setKey = true;\n }\n\n if (setKey) {\n this.orgKeys = orgKeys;\n }\n\n return this.orgKeys;\n }\n\n async getOrgKey(orgId: string): Promise {\n if (orgId == null) {\n return null;\n }\n\n const orgKeys = await this.getOrgKeys();\n if (orgKeys == null || !orgKeys.has(orgId)) {\n return null;\n }\n\n return orgKeys.get(orgId);\n }\n\n async hasKey(): Promise {\n return (await this.getKey()) != null;\n }\n\n async hasEncKey(): Promise {\n const encKey = await this.storageService.get(Keys.encKey);\n return encKey != null;\n }\n\n clearKey(): Promise {\n this.key = this.legacyEtmKey = null;\n return this.secureStorageService.remove(Keys.key);\n }\n\n clearKeyHash(): Promise {\n this.keyHash = null;\n return this.storageService.remove(Keys.keyHash);\n }\n\n clearEncKey(memoryOnly?: boolean): Promise {\n this.encKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encKey);\n }\n\n clearKeyPair(memoryOnly?: boolean): Promise {\n this.privateKey = null;\n this.publicKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encPrivateKey);\n }\n\n clearOrgKeys(memoryOnly?: boolean): Promise {\n this.orgKeys = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encOrgKeys);\n }\n\n clearKeys(): Promise {\n return Promise.all([\n this.clearKey(),\n this.clearKeyHash(),\n this.clearOrgKeys(),\n this.clearEncKey(),\n this.clearKeyPair(),\n ]);\n }\n\n async toggleKey(): Promise {\n const key = await this.getKey();\n const option = await this.storageService.get(ConstantsService.lockOptionKey);\n if (option != null || option === 0) {\n // if we have a lock option set, clear the key\n await this.clearKey();\n this.key = key;\n return;\n }\n\n await this.setKey(key);\n }\n\n async makeKey(password: string, salt: string): Promise {\n const key = await this.cryptoFunctionService.pbkdf2(password, salt, 'sha256', 5000);\n return new SymmetricCryptoKey(key);\n }\n\n async makeShareKey(): Promise<[CipherString, SymmetricCryptoKey]> {\n const shareKey = await this.cryptoFunctionService.randomBytes(64);\n const publicKey = await this.getPublicKey();\n const encKey = await this.getEncKey();\n const encShareKey = await this.rsaEncrypt(shareKey, publicKey, encKey);\n return [encShareKey, new SymmetricCryptoKey(shareKey)];\n }\n\n async makeKeyPair(key?: SymmetricCryptoKey): Promise<[string, CipherString]> {\n const keyPair = await this.cryptoFunctionService.rsaGenerateKeyPair(2048);\n const publicB64 = Utils.fromBufferToB64(keyPair[0]);\n const privateEnc = await this.encrypt(keyPair[1], key);\n return [publicB64, privateEnc];\n }\n\n async hashPassword(password: string, key: SymmetricCryptoKey): Promise {\n if (key == null) {\n key = await this.getKey();\n }\n if (password == null || key == null) {\n throw new Error('Invalid parameters.');\n }\n\n const hash = await this.cryptoFunctionService.pbkdf2(key.key, password, 'sha256', 1);\n return Utils.fromBufferToB64(hash);\n }\n\n async makeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n const encKey = await this.cryptoFunctionService.randomBytes(64);\n let encKeyEnc: CipherString = null;\n // TODO: Uncomment when we're ready to enable key stretching\n encKeyEnc = await this.encrypt(encKey, key);\n /*\n if (key.key.byteLength === 32) {\n const newKey = await this.stretchKey(key);\n encKeyEnc = await this.encrypt(encKey, newKey);\n } else if (key.key.byteLength === 64) {\n encKeyEnc = await this.encrypt(encKey, key);\n } else {\n throw new Error('Invalid key size.');\n }\n */\n return [new SymmetricCryptoKey(encKey), encKeyEnc];\n }\n\n async encrypt(plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n if (plainValue == null) {\n return Promise.resolve(null);\n }\n\n let plainBuf: ArrayBuffer;\n if (typeof (plainValue) === 'string') {\n plainBuf = Utils.fromUtf8ToArray(plainValue).buffer;\n } else {\n plainBuf = plainValue;\n }\n\n const encObj = await this.aesEncrypt(plainBuf, key);\n const iv = Utils.fromBufferToB64(encObj.iv);\n const data = Utils.fromBufferToB64(encObj.data);\n const mac = encObj.mac != null ? Utils.fromBufferToB64(encObj.mac) : null;\n return new CipherString(encObj.key.encType, iv, data, mac);\n }\n\n async encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n const encValue = await this.aesEncrypt(plainValue, key);\n let macLen = 0;\n if (encValue.mac != null) {\n macLen = encValue.mac.byteLength;\n }\n\n const encBytes = new Uint8Array(1 + encValue.iv.byteLength + macLen + encValue.data.byteLength);\n encBytes.set([encValue.key.encType]);\n encBytes.set(new Uint8Array(encValue.iv), 1);\n if (encValue.mac != null) {\n encBytes.set(new Uint8Array(encValue.mac), 1 + encValue.iv.byteLength);\n }\n\n encBytes.set(new Uint8Array(encValue.data), 1 + encValue.iv.byteLength + macLen);\n return encBytes.buffer;\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey?: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey == null) {\n throw new Error('Public key unavailable.');\n }\n\n let type = EncryptionType.Rsa2048_OaepSha1_B64;\n const encBytes = await this.cryptoFunctionService.rsaEncrypt(data, publicKey, 'sha1');\n let mac: string = null;\n if (key != null && key.macKey != null) {\n type = EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64;\n const macBytes = await this.cryptoFunctionService.hmac(encBytes, key.macKey, 'sha256');\n mac = Utils.fromBufferToB64(macBytes);\n }\n return new CipherString(type, Utils.fromBufferToB64(encBytes), null, mac);\n }\n\n async decrypt(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n const iv = Utils.fromB64ToArray(cipherString.iv).buffer;\n const data = Utils.fromB64ToArray(cipherString.data).buffer;\n const mac = cipherString.mac ? Utils.fromB64ToArray(cipherString.mac).buffer : null;\n const decipher = await this.aesDecryptToBytes(cipherString.encryptionType, data, iv, mac, key);\n if (decipher == null) {\n return null;\n }\n\n return decipher;\n }\n\n async decryptToUtf8(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n return await this.aesDecryptToUtf8(cipherString.encryptionType, cipherString.data,\n cipherString.iv, cipherString.mac, key);\n }\n\n async decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n if (encBuf == null) {\n throw new Error('no encBuf.');\n }\n\n const encBytes = new Uint8Array(encBuf);\n const encType = encBytes[0];\n let ctBytes: Uint8Array = null;\n let ivBytes: Uint8Array = null;\n let macBytes: Uint8Array = null;\n\n switch (encType) {\n case EncryptionType.AesCbc128_HmacSha256_B64:\n case EncryptionType.AesCbc256_HmacSha256_B64:\n if (encBytes.length <= 49) { // 1 + 16 + 32 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n macBytes = encBytes.slice(17, 49);\n ctBytes = encBytes.slice(49);\n break;\n case EncryptionType.AesCbc256_B64:\n if (encBytes.length <= 17) { // 1 + 16 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n ctBytes = encBytes.slice(17);\n break;\n default:\n return null;\n }\n\n return await this.aesDecryptToBytes(encType, ctBytes.buffer, ivBytes.buffer,\n macBytes != null ? macBytes.buffer : null, key);\n }\n\n // EFForg/OpenWireless\n // ref https://github.com/EFForg/OpenWireless/blob/master/app/js/diceware.js\n async randomNumber(min: number, max: number): Promise {\n let rval = 0;\n const range = max - min + 1;\n const bitsNeeded = Math.ceil(Math.log2(range));\n if (bitsNeeded > 53) {\n throw new Error('We cannot generate numbers larger than 53 bits.');\n }\n\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\n const mask = Math.pow(2, bitsNeeded) - 1;\n // 7776 -> (2^13 = 8192) -1 == 8191 or 0x00001111 11111111\n\n // Fill a byte array with N random numbers\n const byteArray = new Uint8Array(await this.cryptoFunctionService.randomBytes(bytesNeeded));\n\n let p = (bytesNeeded - 1) * 8;\n for (let i = 0; i < bytesNeeded; i++) {\n rval += byteArray[i] * Math.pow(2, p);\n p -= 8;\n }\n\n // Use & to apply the mask and reduce the number of recursive lookups\n // tslint:disable-next-line\n rval = rval & mask;\n\n if (rval >= range) {\n // Integer out of acceptable range\n return this.randomNumber(min, max);\n }\n\n // Return an integer that falls within the range\n return min + rval;\n }\n\n // Helpers\n\n private async aesEncrypt(data: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const obj = new EncryptedObject();\n obj.key = await this.getKeyForEncryption(key);\n obj.iv = await this.cryptoFunctionService.randomBytes(16);\n obj.data = await this.cryptoFunctionService.aesEncrypt(data, obj.iv, obj.key.encKey);\n\n if (obj.key.macKey != null) {\n const macData = new Uint8Array(obj.iv.byteLength + obj.data.byteLength);\n macData.set(new Uint8Array(obj.iv), 0);\n macData.set(new Uint8Array(obj.data), obj.iv.byteLength);\n obj.mac = await this.cryptoFunctionService.hmac(macData.buffer, obj.key.macKey, 'sha256');\n }\n\n return obj;\n }\n\n private async aesDecryptToUtf8(encType: EncryptionType, data: string, iv: string, mac: string,\n key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n // tslint:disable-next-line\n console.error('mac required.');\n return null;\n }\n\n if (theKey.encType !== encType) {\n // tslint:disable-next-line\n console.error('encType unavailable.');\n return null;\n }\n\n const fastParams = this.cryptoFunctionService.aesDecryptFastParameters(data, iv, mac, theKey);\n if (fastParams.macKey != null && fastParams.mac != null) {\n const computedMac = await this.cryptoFunctionService.hmacFast(fastParams.macData,\n fastParams.macKey, 'sha256');\n const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac);\n if (!macsEqual) {\n // tslint:disable-next-line\n console.error('mac failed.');\n return null;\n }\n }\n\n return this.cryptoFunctionService.aesDecryptFast(fastParams);\n }\n\n private async aesDecryptToBytes(encType: EncryptionType, data: ArrayBuffer, iv: ArrayBuffer,\n mac: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n return null;\n }\n\n if (theKey.encType !== encType) {\n return null;\n }\n\n if (theKey.macKey != null && mac != null) {\n const macData = new Uint8Array(iv.byteLength + data.byteLength);\n macData.set(new Uint8Array(iv), 0);\n macData.set(new Uint8Array(data), iv.byteLength);\n const computedMac = await this.cryptoFunctionService.hmac(macData.buffer, theKey.macKey, 'sha256');\n if (computedMac === null) {\n return null;\n }\n\n const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac);\n if (!macsMatch) {\n // tslint:disable-next-line\n console.error('mac failed.');\n return null;\n }\n }\n\n return await this.cryptoFunctionService.aesDecrypt(data, iv, theKey.encKey);\n }\n\n private async rsaDecrypt(encValue: string): Promise {\n const headerPieces = encValue.split('.');\n let encType: EncryptionType = null;\n let encPieces: string[];\n\n if (headerPieces.length === 1) {\n encType = EncryptionType.Rsa2048_OaepSha256_B64;\n encPieces = [headerPieces[0]];\n } else if (headerPieces.length === 2) {\n try {\n encType = parseInt(headerPieces[0], null);\n encPieces = headerPieces[1].split('|');\n } catch (e) { }\n }\n\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_B64:\n if (encPieces.length !== 1) {\n throw new Error('Invalid cipher format.');\n }\n break;\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n if (encPieces.length !== 2) {\n throw new Error('Invalid cipher format.');\n }\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n if (encPieces == null || encPieces.length <= 0) {\n throw new Error('encPieces unavailable.');\n }\n\n const data = Utils.fromB64ToArray(encPieces[0]).buffer;\n const key = await this.getEncKey();\n if (key != null && key.macKey != null && encPieces.length > 1) {\n const mac = Utils.fromB64ToArray(encPieces[1]).buffer;\n const computedMac = await this.cryptoFunctionService.hmac(data, key.macKey, 'sha256');\n const macsEqual = await this.cryptoFunctionService.compare(mac, computedMac);\n if (!macsEqual) {\n throw new Error('MAC failed.');\n }\n }\n\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n throw new Error('No private key.');\n }\n\n let alg: 'sha1' | 'sha256' = 'sha1';\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n alg = 'sha256';\n break;\n case EncryptionType.Rsa2048_OaepSha1_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n return this.cryptoFunctionService.rsaDecrypt(data, privateKey, alg);\n }\n\n private async getKeyForEncryption(key?: SymmetricCryptoKey): Promise {\n if (key != null) {\n return key;\n }\n\n const encKey = await this.getEncKey();\n if (encKey != null) {\n return encKey;\n }\n\n return await this.getKey();\n }\n\n private resolveLegacyKey(encType: EncryptionType, key: SymmetricCryptoKey): SymmetricCryptoKey {\n if (encType === EncryptionType.AesCbc128_HmacSha256_B64 &&\n key.encType === EncryptionType.AesCbc256_B64) {\n // Old encrypt-then-mac scheme, make a new key\n if (this.legacyEtmKey == null) {\n this.legacyEtmKey = new SymmetricCryptoKey(key.key, EncryptionType.AesCbc128_HmacSha256_B64);\n }\n return this.legacyEtmKey;\n }\n\n return key;\n }\n\n private async stretchKey(key: SymmetricCryptoKey): Promise {\n const newKey = new Uint8Array(64);\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('enc'), 32));\n newKey.set(await this.hkdfExpand(key.key, Utils.fromUtf8ToArray('mac'), 32), 32);\n return new SymmetricCryptoKey(newKey.buffer);\n }\n\n // ref: https://tools.ietf.org/html/rfc5869\n private async hkdfExpand(prk: ArrayBuffer, info: Uint8Array, size: number) {\n const hashLen = 32; // sha256\n const okm = new Uint8Array(size);\n let previousT = new Uint8Array(0);\n const n = Math.ceil(size / hashLen);\n for (let i = 0; i < n; i++) {\n const t = new Uint8Array(previousT.length + info.length + 1);\n t.set(previousT);\n t.set(info, previousT.length);\n t.set([i + 1], t.length - 1);\n previousT = new Uint8Array(await this.cryptoFunctionService.hmac(t.buffer, prk, 'sha256'));\n okm.set(previousT, i * hashLen);\n }\n return okm;\n }\n}\n","import { CryptoService } from '../abstractions/crypto.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nexport class ContainerService {\n constructor(private cryptoService: CryptoService,\n private platformUtilsService: PlatformUtilsService) {\n }\n\n // deprecated, use attachToGlobal instead\n attachToWindow(win: any) {\n this.attachToGlobal(win);\n }\n\n attachToGlobal(global: any) {\n if (!global.bitwardenContainerService) {\n global.bitwardenContainerService = this;\n }\n }\n\n getCryptoService(): CryptoService {\n return this.cryptoService;\n }\n\n getPlatformUtilsService(): PlatformUtilsService {\n return this.platformUtilsService;\n }\n}\n","import { CollectionData } from '../models/data/collectionData';\r\n\r\nimport { Collection } from '../models/domain/collection';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nimport { CollectionService as CollectionServiceAbstraction } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n collectionsPrefix: 'collections_',\r\n};\r\n\r\nexport class CollectionService implements CollectionServiceAbstraction {\r\n decryptedCollectionCache: CollectionView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private storageService: StorageService, private i18nService: I18nService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async encrypt(model: CollectionView): Promise {\r\n if (model.organizationId == null) {\r\n throw new Error('Collection has no organization id.');\r\n }\r\n const key = await this.cryptoService.getOrgKey(model.organizationId);\r\n if (key == null) {\r\n throw new Error('No key for this collection\\'s organization.');\r\n }\r\n const collection = new Collection();\r\n collection.id = model.id;\r\n collection.organizationId = model.organizationId;\r\n collection.readOnly = model.readOnly;\r\n collection.name = await this.cryptoService.encrypt(model.name, key);\r\n return collection;\r\n }\r\n\r\n async decryptMany(collections: Collection[]): Promise {\r\n if (collections == null) {\r\n return [];\r\n }\r\n const decCollections: CollectionView[] = [];\r\n const promises: Array> = [];\r\n collections.forEach((collection) => {\r\n promises.push(collection.decrypt().then((c) => decCollections.push(c)));\r\n });\r\n await Promise.all(promises);\r\n return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null || !collections.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Collection(collections[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n const response: Collection[] = [];\r\n for (const id in collections) {\r\n if (collections.hasOwnProperty(id)) {\r\n response.push(new Collection(collections[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCollectionCache != null) {\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const collections = await this.getAll();\r\n this.decryptedCollectionCache = await this.decryptMany(collections);\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n async upsert(collection: CollectionData | CollectionData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n collections = {};\r\n }\r\n\r\n if (collection instanceof CollectionData) {\r\n const c = collection as CollectionData;\r\n collections[c.id] = c;\r\n } else {\r\n (collection as CollectionData[]).forEach((c) => {\r\n collections[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async replace(collections: { [id: string]: CollectionData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.collectionsPrefix + userId);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete collections[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete collections[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n}\r\n","import { CipherType } from '../enums/cipherType';\r\nimport { UriMatchType } from '../enums/uriMatchType';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Attachment } from '../models/domain/attachment';\r\nimport { Card } from '../models/domain/card';\r\nimport { Cipher } from '../models/domain/cipher';\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport Domain from '../models/domain/domain';\r\nimport { Field } from '../models/domain/field';\r\nimport { Identity } from '../models/domain/identity';\r\nimport { Login } from '../models/domain/login';\r\nimport { LoginUri } from '../models/domain/loginUri';\r\nimport { SecureNote } from '../models/domain/secureNote';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\n\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\n\r\nimport { AttachmentView } from '../models/view/attachmentView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { View } from '../models/view/view';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService as CipherServiceAbstraction } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { SettingsService } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n ciphersPrefix: 'ciphers_',\r\n localData: 'sitesLocalData',\r\n neverDomains: 'neverDomains',\r\n};\r\n\r\nexport class CipherService implements CipherServiceAbstraction {\r\n decryptedCipherCache: CipherView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private settingsService: SettingsService, private apiService: ApiService,\r\n private storageService: StorageService, private i18nService: I18nService,\r\n private platformUtilsService: PlatformUtilsService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async encrypt(model: CipherView, key?: SymmetricCryptoKey): Promise {\r\n const cipher = new Cipher();\r\n cipher.id = model.id;\r\n cipher.folderId = model.folderId;\r\n cipher.favorite = model.favorite;\r\n cipher.organizationId = model.organizationId;\r\n cipher.type = model.type;\r\n cipher.collectionIds = model.collectionIds;\r\n\r\n if (key == null && cipher.organizationId != null) {\r\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\r\n }\r\n await Promise.all([\r\n this.encryptObjProperty(model, cipher, {\r\n name: null,\r\n notes: null,\r\n }, key),\r\n this.encryptCipherData(cipher, model, key),\r\n this.encryptFields(model.fields, key).then((fields) => {\r\n cipher.fields = fields;\r\n }),\r\n this.encryptAttachments(model.attachments, key).then((attachments) => {\r\n cipher.attachments = attachments;\r\n }),\r\n ]);\r\n\r\n return cipher;\r\n }\r\n\r\n async encryptAttachments(attachmentsModel: AttachmentView[], key: SymmetricCryptoKey): Promise {\r\n if (attachmentsModel == null || attachmentsModel.length === 0) {\r\n return null;\r\n }\r\n\r\n const promises: Array> = [];\r\n const encAttachments: Attachment[] = [];\r\n attachmentsModel.forEach(async (model) => {\r\n const attachment = new Attachment();\r\n attachment.id = model.id;\r\n attachment.size = model.size;\r\n attachment.sizeName = model.sizeName;\r\n attachment.url = model.url;\r\n const promise = this.encryptObjProperty(model, attachment, {\r\n fileName: null,\r\n }, key).then(() => {\r\n encAttachments.push(attachment);\r\n });\r\n promises.push(promise);\r\n });\r\n\r\n await Promise.all(promises);\r\n return encAttachments;\r\n }\r\n\r\n async encryptFields(fieldsModel: FieldView[], key: SymmetricCryptoKey): Promise {\r\n if (!fieldsModel || !fieldsModel.length) {\r\n return null;\r\n }\r\n\r\n const self = this;\r\n const encFields: Field[] = [];\r\n await fieldsModel.reduce((promise, field) => {\r\n return promise.then(() => {\r\n return self.encryptField(field, key);\r\n }).then((encField: Field) => {\r\n encFields.push(encField);\r\n });\r\n }, Promise.resolve());\r\n\r\n return encFields;\r\n }\r\n\r\n async encryptField(fieldModel: FieldView, key: SymmetricCryptoKey): Promise {\r\n const field = new Field();\r\n field.type = fieldModel.type;\r\n\r\n await this.encryptObjProperty(fieldModel, field, {\r\n name: null,\r\n value: null,\r\n }, key);\r\n\r\n return field;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const localData = await this.storageService.get(Keys.localData);\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null || !ciphers.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Cipher(ciphers[id], false, localData ? localData[id] : null);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const localData = await this.storageService.get(Keys.localData);\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n const response: Cipher[] = [];\r\n for (const id in ciphers) {\r\n if (ciphers.hasOwnProperty(id)) {\r\n response.push(new Cipher(ciphers[id], false, localData ? localData[id] : null));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCipherCache != null) {\r\n return this.decryptedCipherCache;\r\n }\r\n\r\n const decCiphers: CipherView[] = [];\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const promises: any[] = [];\r\n const ciphers = await this.getAll();\r\n ciphers.forEach((cipher) => {\r\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decCiphers.sort(this.getLocaleSortingFunction());\r\n this.decryptedCipherCache = decCiphers;\r\n return this.decryptedCipherCache;\r\n }\r\n\r\n async getAllDecryptedForGrouping(groupingId: string, folder: boolean = true): Promise {\r\n const ciphers = await this.getAllDecrypted();\r\n\r\n return ciphers.filter((cipher) => {\r\n if (folder && cipher.folderId === groupingId) {\r\n return true;\r\n } else if (!folder && cipher.collectionIds != null && cipher.collectionIds.indexOf(groupingId) > -1) {\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n async getAllDecryptedForUrl(url: string, includeOtherTypes?: CipherType[]): Promise {\r\n if (url == null && !includeOtherTypes) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const domain = this.platformUtilsService.getDomain(url);\r\n const eqDomainsPromise = domain == null ? Promise.resolve([]) :\r\n this.settingsService.getEquivalentDomains().then((eqDomains: any[][]) => {\r\n let matches: any[] = [];\r\n eqDomains.forEach((eqDomain) => {\r\n if (eqDomain.length && eqDomain.indexOf(domain) >= 0) {\r\n matches = matches.concat(eqDomain);\r\n }\r\n });\r\n\r\n if (!matches.length) {\r\n matches.push(domain);\r\n }\r\n\r\n return matches;\r\n });\r\n\r\n const result = await Promise.all([eqDomainsPromise, this.getAllDecrypted()]);\r\n const matchingDomains = result[0];\r\n const ciphers = result[1];\r\n\r\n return ciphers.filter((cipher) => {\r\n if (includeOtherTypes && includeOtherTypes.indexOf(cipher.type) > -1) {\r\n return true;\r\n }\r\n\r\n if (url != null && cipher.type === CipherType.Login && cipher.login.uris != null) {\r\n for (let i = 0; i < cipher.login.uris.length; i++) {\r\n const u = cipher.login.uris[i];\r\n if (u.uri == null) {\r\n continue;\r\n }\r\n\r\n switch (u.match) {\r\n case null:\r\n case undefined:\r\n case UriMatchType.Domain:\r\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.Host:\r\n const urlHost = Utils.getHost(url);\r\n if (urlHost != null && urlHost === Utils.getHost(u.uri)) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.Exact:\r\n if (url === u.uri) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.StartsWith:\r\n if (url.startsWith(u.uri)) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.RegularExpression:\r\n try {\r\n const regex = new RegExp(u.uri, 'i');\r\n if (regex.test(url)) {\r\n return true;\r\n }\r\n } catch { }\r\n break;\r\n case UriMatchType.Never:\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n async getLastUsedForUrl(url: string): Promise {\r\n const ciphers = await this.getAllDecryptedForUrl(url);\r\n if (ciphers.length === 0) {\r\n return null;\r\n }\r\n\r\n const sortedCiphers = ciphers.sort(this.sortCiphersByLastUsed);\r\n return sortedCiphers[0];\r\n }\r\n\r\n async updateLastUsedDate(id: string): Promise {\r\n let ciphersLocalData = await this.storageService.get(Keys.localData);\r\n if (!ciphersLocalData) {\r\n ciphersLocalData = {};\r\n }\r\n\r\n if (ciphersLocalData[id]) {\r\n ciphersLocalData[id].lastUsedDate = new Date().getTime();\r\n } else {\r\n ciphersLocalData[id] = {\r\n lastUsedDate: new Date().getTime(),\r\n };\r\n }\r\n\r\n await this.storageService.save(Keys.localData, ciphersLocalData);\r\n\r\n if (this.decryptedCipherCache == null) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\r\n const cached = this.decryptedCipherCache[i];\r\n if (cached.id === id) {\r\n cached.localData = ciphersLocalData[id];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n async saveNeverDomain(domain: string): Promise {\r\n if (domain == null) {\r\n return;\r\n }\r\n\r\n let domains = await this.storageService.get<{ [id: string]: any; }>(Keys.neverDomains);\r\n if (!domains) {\r\n domains = {};\r\n }\r\n domains[domain] = null;\r\n await this.storageService.save(Keys.neverDomains, domains);\r\n }\r\n\r\n async saveWithServer(cipher: Cipher): Promise {\r\n const request = new CipherRequest(cipher);\r\n\r\n let response: CipherResponse;\r\n if (cipher.id == null) {\r\n response = await this.apiService.postCipher(request);\r\n cipher.id = response.id;\r\n } else {\r\n response = await this.apiService.putCipher(cipher.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new CipherData(response, userId, cipher.collectionIds);\r\n await this.upsert(data);\r\n }\r\n\r\n async shareWithServer(cipher: CipherView, organizationId: string, collectionIds: string[]): Promise {\r\n cipher.organizationId = organizationId;\r\n cipher.collectionIds = collectionIds;\r\n const encCipher = await this.encrypt(cipher);\r\n const request = new CipherShareRequest(encCipher);\r\n await this.apiService.putShareCipher(cipher.id, request);\r\n const userId = await this.userService.getUserId();\r\n await this.upsert(encCipher.toCipherData(userId));\r\n }\r\n\r\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\r\n const promises: Array> = [];\r\n const encCiphers: Cipher[] = [];\r\n for (const cipher of ciphers) {\r\n cipher.organizationId = organizationId;\r\n cipher.collectionIds = collectionIds;\r\n promises.push(this.encrypt(cipher).then((c) => {\r\n encCiphers.push(c);\r\n }));\r\n }\r\n await Promise.all(promises);\r\n const request = new CipherBulkShareRequest(encCiphers, collectionIds);\r\n await this.apiService.putShareCiphers(request);\r\n const userId = await this.userService.getUserId();\r\n await this.upsert(encCiphers.map((c) => c.toCipherData(userId)));\r\n }\r\n\r\n async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\r\n organizationId: string): Promise {\r\n const attachmentResponse = await fetch(new Request(attachmentView.url, { cache: 'no-cache' }));\r\n if (attachmentResponse.status !== 200) {\r\n throw Error('Failed to download attachment: ' + attachmentResponse.status.toString());\r\n }\r\n\r\n const buf = await attachmentResponse.arrayBuffer();\r\n const decBuf = await this.cryptoService.decryptFromBytes(buf, null);\r\n const key = await this.cryptoService.getOrgKey(organizationId);\r\n const encData = await this.cryptoService.encryptToBytes(decBuf, key);\r\n const encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\r\n\r\n const fd = new FormData();\r\n try {\r\n const blob = new Blob([encData], { type: 'application/octet-stream' });\r\n fd.append('data', blob, encFileName.encryptedString);\r\n } catch (e) {\r\n if (Utils.isNode && !Utils.isBrowser) {\r\n fd.append('data', new Buffer(encData) as any, {\r\n filepath: encFileName.encryptedString,\r\n contentType: 'application/octet-stream',\r\n } as any);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n let response: CipherResponse;\r\n try {\r\n response = await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd,\r\n organizationId);\r\n } catch (e) {\r\n throw new Error((e as ErrorResponse).getSingleMessage());\r\n }\r\n }\r\n\r\n saveAttachmentWithServer(cipher: Cipher, unencryptedFile: any, admin = false): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(unencryptedFile);\r\n reader.onload = async (evt: any) => {\r\n try {\r\n const cData = await this.saveAttachmentRawWithServer(cipher,\r\n unencryptedFile.name, evt.target.result, admin);\r\n resolve(cData);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n };\r\n reader.onerror = (evt) => {\r\n reject('Error reading file.');\r\n };\r\n });\r\n }\r\n\r\n async saveAttachmentRawWithServer(cipher: Cipher, filename: string,\r\n data: ArrayBuffer, admin = false): Promise {\r\n const key = await this.cryptoService.getOrgKey(cipher.organizationId);\r\n const encFileName = await this.cryptoService.encrypt(filename, key);\r\n const encData = await this.cryptoService.encryptToBytes(data, key);\r\n\r\n const fd = new FormData();\r\n try {\r\n const blob = new Blob([encData], { type: 'application/octet-stream' });\r\n fd.append('data', blob, encFileName.encryptedString);\r\n } catch (e) {\r\n if (Utils.isNode && !Utils.isBrowser) {\r\n fd.append('data', new Buffer(encData) as any, {\r\n filepath: encFileName.encryptedString,\r\n contentType: 'application/octet-stream',\r\n } as any);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n let response: CipherResponse;\r\n try {\r\n if (admin) {\r\n response = await this.apiService.postCipherAttachmentAdmin(cipher.id, fd);\r\n } else {\r\n response = await this.apiService.postCipherAttachment(cipher.id, fd);\r\n }\r\n } catch (e) {\r\n throw new Error((e as ErrorResponse).getSingleMessage());\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const cData = new CipherData(response, userId, cipher.collectionIds);\r\n if (!admin) {\r\n this.upsert(cData);\r\n }\r\n return new Cipher(cData);\r\n }\r\n\r\n async saveCollectionsWithServer(cipher: Cipher): Promise {\r\n const request = new CipherCollectionsRequest(cipher.collectionIds);\r\n await this.apiService.putCipherCollections(cipher.id, request);\r\n const userId = await this.userService.getUserId();\r\n const data = cipher.toCipherData(userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(cipher: CipherData | CipherData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n ciphers = {};\r\n }\r\n\r\n if (cipher instanceof CipherData) {\r\n const c = cipher as CipherData;\r\n ciphers[c.id] = c;\r\n } else {\r\n (cipher as CipherData[]).forEach((c) => {\r\n ciphers[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async replace(ciphers: { [id: string]: CipherData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.ciphersPrefix + userId);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async moveManyWithServer(ids: string[], folderId: string): Promise {\r\n await this.apiService.putMoveCiphers(new CipherBulkMoveRequest(ids, folderId));\r\n\r\n const userId = await this.userService.getUserId();\r\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n ciphers = {};\r\n }\r\n\r\n ids.forEach((id) => {\r\n if (ciphers.hasOwnProperty(id)) {\r\n ciphers[id].folderId = folderId;\r\n }\r\n });\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete ciphers[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete ciphers[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteCipher(id);\r\n await this.delete(id);\r\n }\r\n\r\n async deleteManyWithServer(ids: string[]): Promise {\r\n await this.apiService.deleteManyCiphers(new CipherBulkDeleteRequest(ids));\r\n await this.delete(ids);\r\n }\r\n\r\n async deleteAttachment(id: string, attachmentId: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n\r\n if (ciphers == null || !ciphers.hasOwnProperty(id) || ciphers[id].attachments == null) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < ciphers[id].attachments.length; i++) {\r\n if (ciphers[id].attachments[i].id === attachmentId) {\r\n ciphers[id].attachments.splice(i, 1);\r\n }\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async deleteAttachmentWithServer(id: string, attachmentId: string): Promise {\r\n try {\r\n await this.apiService.deleteCipherAttachment(id, attachmentId);\r\n } catch (e) {\r\n return Promise.reject((e as ErrorResponse).getSingleMessage());\r\n }\r\n await this.deleteAttachment(id, attachmentId);\r\n }\r\n\r\n sortCiphersByLastUsed(a: CipherView, b: CipherView): number {\r\n const aLastUsed = a.localData && a.localData.lastUsedDate ? a.localData.lastUsedDate as number : null;\r\n const bLastUsed = b.localData && b.localData.lastUsedDate ? b.localData.lastUsedDate as number : null;\r\n\r\n if (aLastUsed != null && bLastUsed != null && aLastUsed < bLastUsed) {\r\n return 1;\r\n }\r\n if (aLastUsed != null && bLastUsed == null) {\r\n return -1;\r\n }\r\n\r\n if (bLastUsed != null && aLastUsed != null && aLastUsed > bLastUsed) {\r\n return -1;\r\n }\r\n if (bLastUsed != null && aLastUsed == null) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n sortCiphersByLastUsedThenName(a: CipherView, b: CipherView): number {\r\n const result = this.sortCiphersByLastUsed(a, b);\r\n if (result !== 0) {\r\n return result;\r\n }\r\n\r\n return this.getLocaleSortingFunction()(a, b);\r\n }\r\n\r\n getLocaleSortingFunction(): (a: CipherView, b: CipherView) => number {\r\n return (a, b) => {\r\n let aName = a.name;\r\n let bName = b.name;\r\n\r\n if (aName == null && bName != null) {\r\n return -1;\r\n }\r\n if (aName != null && bName == null) {\r\n return 1;\r\n }\r\n if (aName == null && bName == null) {\r\n return 0;\r\n }\r\n\r\n const result = this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\r\n aName.localeCompare(bName);\r\n\r\n if (result !== 0 || a.type !== CipherType.Login || b.type !== CipherType.Login) {\r\n return result;\r\n }\r\n\r\n if (a.login.username != null) {\r\n aName += a.login.username;\r\n }\r\n\r\n if (b.login.username != null) {\r\n bName += b.login.username;\r\n }\r\n\r\n return this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\r\n aName.localeCompare(bName);\r\n };\r\n }\r\n\r\n // Helpers\r\n\r\n private async encryptObjProperty(model: V, obj: D,\r\n map: any, key: SymmetricCryptoKey): Promise {\r\n const promises = [];\r\n const self = this;\r\n\r\n for (const prop in map) {\r\n if (!map.hasOwnProperty(prop)) {\r\n continue;\r\n }\r\n\r\n // tslint:disable-next-line\r\n (function (theProp, theObj) {\r\n const p = Promise.resolve().then(() => {\r\n const modelProp = (model as any)[(map[theProp] || theProp)];\r\n if (modelProp && modelProp !== '') {\r\n return self.cryptoService.encrypt(modelProp, key);\r\n }\r\n return null;\r\n }).then((val: CipherString) => {\r\n (theObj as any)[theProp] = val;\r\n });\r\n promises.push(p);\r\n })(prop, obj);\r\n }\r\n\r\n await Promise.all(promises);\r\n }\r\n\r\n private async encryptCipherData(cipher: Cipher, model: CipherView, key: SymmetricCryptoKey) {\r\n switch (cipher.type) {\r\n case CipherType.Login:\r\n cipher.login = new Login();\r\n await this.encryptObjProperty(model.login, cipher.login, {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n }, key);\r\n\r\n if (model.login.uris != null) {\r\n cipher.login.uris = [];\r\n for (let i = 0; i < model.login.uris.length; i++) {\r\n const loginUri = new LoginUri();\r\n loginUri.match = model.login.uris[i].match;\r\n await this.encryptObjProperty(model.login.uris[i], loginUri, {\r\n uri: null,\r\n }, key);\r\n cipher.login.uris.push(loginUri);\r\n }\r\n }\r\n return;\r\n case CipherType.SecureNote:\r\n cipher.secureNote = new SecureNote();\r\n cipher.secureNote.type = model.secureNote.type;\r\n return;\r\n case CipherType.Card:\r\n cipher.card = new Card();\r\n await this.encryptObjProperty(model.card, cipher.card, {\r\n cardholderName: null,\r\n brand: null,\r\n number: null,\r\n expMonth: null,\r\n expYear: null,\r\n code: null,\r\n }, key);\r\n return;\r\n case CipherType.Identity:\r\n cipher.identity = new Identity();\r\n await this.encryptObjProperty(model.identity, cipher.identity, {\r\n title: null,\r\n firstName: null,\r\n middleName: null,\r\n lastName: null,\r\n address1: null,\r\n address2: null,\r\n address3: null,\r\n city: null,\r\n state: null,\r\n postalCode: null,\r\n country: null,\r\n company: null,\r\n email: null,\r\n phone: null,\r\n ssn: null,\r\n username: null,\r\n passportNumber: null,\r\n licenseNumber: null,\r\n }, key);\r\n return;\r\n default:\r\n throw new Error('Unknown cipher type.');\r\n }\r\n }\r\n}\r\n","import { ApiService } from '../abstractions/api.service';\nimport { AuditService as AuditServiceAbstraction } from '../abstractions/audit.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\n\nimport { Utils } from '../misc/utils';\n\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nconst PwnedPasswordsApi = 'https://api.pwnedpasswords.com/range/';\nconst HibpBreachApi = 'https://haveibeenpwned.com/api/v2/breachedaccount/';\n\nexport class AuditService implements AuditServiceAbstraction {\n constructor(private cryptoFunctionService: CryptoFunctionService, private apiService: ApiService) { }\n\n async passwordLeaked(password: string): Promise {\n const hashBytes = await this.cryptoFunctionService.hash(password, 'sha1');\n const hash = Utils.fromBufferToHex(hashBytes).toUpperCase();\n const hashStart = hash.substr(0, 5);\n const hashEnding = hash.substr(5);\n\n const response = await fetch(new Request(PwnedPasswordsApi + hashStart));\n const leakedHashes = await response.text();\n const match = leakedHashes.split(/\\r?\\n/).find((v) => {\n return v.split(':')[0] === hashEnding;\n });\n\n return match != null ? parseInt(match.split(':')[1], 10) : 0;\n }\n\n async breachedAccounts(username: string): Promise {\n const response = await this.apiService.fetch(new Request(HibpBreachApi + username));\n if (response.status === 404) {\n return [];\n } else if (response.status !== 200) {\n throw new Error();\n }\n const responseJson = await response.json();\n return responseJson.map((a: any) => new BreachAccountResponse(a));\n }\n}\n","import { Utils } from '../misc/utils';\r\n\r\nimport { AppIdService as AppIdServiceAbstraction } from '../abstractions/appId.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class AppIdService implements AppIdServiceAbstraction {\r\n constructor(private storageService: StorageService) {\r\n }\r\n\r\n getAppId(): Promise {\r\n return this.makeAndGetAppId('appId');\r\n }\r\n\r\n getAnonymousAppId(): Promise {\r\n return this.makeAndGetAppId('anonymousAppId');\r\n }\r\n\r\n private async makeAndGetAppId(key: string) {\r\n const existingId = await this.storageService.get(key);\r\n if (existingId != null) {\r\n return existingId;\r\n }\r\n\r\n const guid = Utils.newGuid();\r\n await this.storageService.save(key, guid);\r\n return guid;\r\n }\r\n}\r\n","import { ProfileOrganizationResponse } from './profileOrganizationResponse';\r\n\r\nexport class ProfileResponse {\r\n id: string;\r\n name: string;\r\n email: string;\r\n emailVerified: boolean;\r\n masterPasswordHint: string;\r\n premium: boolean;\r\n culture: string;\r\n twoFactorEnabled: boolean;\r\n key: string;\r\n privateKey: string;\r\n securityStamp: string;\r\n organizations: ProfileOrganizationResponse[] = [];\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.name = response.Name;\r\n this.email = response.Email;\r\n this.emailVerified = response.EmailVerified;\r\n this.masterPasswordHint = response.MasterPasswordHint;\r\n this.premium = response.Premium;\r\n this.culture = response.Culture;\r\n this.twoFactorEnabled = response.TwoFactorEnabled;\r\n this.key = response.Key;\r\n this.privateKey = response.PrivateKey;\r\n this.securityStamp = response.SecurityStamp;\r\n\r\n if (response.Organizations) {\r\n response.Organizations.forEach((org: any) => {\r\n this.organizations.push(new ProfileOrganizationResponse(org));\r\n });\r\n }\r\n }\r\n}\r\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationResponse {\n id: string;\n name: string;\n businessName: string;\n businessAddress1: string;\n businessAddress2: string;\n businessAddress3: string;\n businessCountry: string;\n businessTaxNumber: string;\n billingEmail: string;\n plan: string;\n planType: PlanType;\n seats: number;\n maxCollections: number;\n maxStorageGb: number;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.name = response.Name;\n this.businessName = response.BusinessName;\n this.businessAddress1 = response.BusinessAddress1;\n this.businessAddress2 = response.BusinessAddress2;\n this.businessAddress3 = response.BusinessAddress3;\n this.businessCountry = response.BusinessCountry;\n this.businessTaxNumber = response.BusinessTaxNumber;\n this.billingEmail = response.BillingEmail;\n this.plan = response.Plan;\n this.planType = response.PlanType;\n this.seats = response.Seats;\n this.maxCollections = response.MaxCollections;\n this.maxStorageGb = response.MaxStorageGb;\n this.useGroups = response.UseGroups;\n this.useDirectory = response.UseDirectory;\n this.useEvents = response.UseEvents;\n this.useTotp = response.UseTotp;\n this.use2fa = response.Use2fa;\n }\n}\n","export class FolderResponse {\r\n id: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.name = response.Name;\r\n this.revisionDate = response.RevisionDate;\r\n }\r\n}\r\n","import { GlobalDomainResponse } from './globalDomainResponse';\r\n\r\nexport class DomainsResponse {\r\n equivalentDomains: string[][];\r\n globalEquivalentDomains: GlobalDomainResponse[] = [];\r\n\r\n constructor(response: any) {\r\n this.equivalentDomains = response.EquivalentDomains;\r\n\r\n this.globalEquivalentDomains = [];\r\n if (response.GlobalEquivalentDomains) {\r\n response.GlobalEquivalentDomains.forEach((domain: any) => {\r\n this.globalEquivalentDomains.push(new GlobalDomainResponse(domain));\r\n });\r\n }\r\n }\r\n}\r\n","import { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class CollectionResponse {\n id: string;\n organizationId: string;\n name: string;\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.name = response.Name;\n }\n}\n\nexport class CollectionDetailsResponse extends CollectionResponse {\n readOnly: boolean;\n\n constructor(response: any) {\n super(response);\n this.readOnly = response.ReadOnly || false;\n }\n}\n\nexport class CollectionGroupDetailsResponse extends CollectionResponse {\n groups: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Groups != null) {\n this.groups = response.Groups.map((g: any) => new SelectionReadOnlyResponse(g));\n }\n }\n}\n","import { AttachmentResponse } from './attachmentResponse';\n\nimport { CardApi } from '../api/cardApi';\nimport { FieldApi } from '../api/fieldApi';\nimport { IdentityApi } from '../api/identityApi';\nimport { LoginApi } from '../api/loginApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class CipherResponse {\n id: string;\n organizationId: string;\n folderId: string;\n type: number;\n name: string;\n notes: string;\n fields: FieldApi[];\n login: LoginApi;\n card: CardApi;\n identity: IdentityApi;\n secureNote: SecureNoteApi;\n favorite: boolean;\n edit: boolean;\n organizationUseTotp: boolean;\n revisionDate: Date;\n attachments: AttachmentResponse[];\n collectionIds: string[];\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.folderId = response.FolderId || null;\n this.type = response.Type;\n this.name = response.Name;\n this.notes = response.Notes;\n this.favorite = response.Favorite || false;\n this.edit = response.Edit || true;\n this.organizationUseTotp = response.OrganizationUseTotp;\n this.revisionDate = new Date(response.RevisionDate);\n\n if (response.Login != null) {\n this.login = new LoginApi(response.Login);\n }\n\n if (response.Card != null) {\n this.card = new CardApi(response.Card);\n }\n\n if (response.Identity != null) {\n this.identity = new IdentityApi(response.Identity);\n }\n\n if (response.SecureNote != null) {\n this.secureNote = new SecureNoteApi(response.SecureNote);\n }\n\n if (response.Fields != null) {\n this.fields = [];\n response.Fields.forEach((field: any) => {\n this.fields.push(new FieldApi(field));\n });\n }\n\n if (response.Attachments != null) {\n this.attachments = [];\n response.Attachments.forEach((attachment: any) => {\n this.attachments.push(new AttachmentResponse(attachment));\n });\n }\n\n if (response.CollectionIds) {\n this.collectionIds = [];\n response.CollectionIds.forEach((id: string) => {\n this.collectionIds.push(id);\n });\n }\n }\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\n\nexport class BillingResponse {\n storageName: string;\n storageGb: number;\n maxStorageGb: number;\n paymentSource: BillingSourceResponse;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingInvoiceResponse;\n charges: BillingChargeResponse[] = [];\n license: any;\n expiration: Date;\n\n constructor(response: any) {\n this.storageName = response.StorageName;\n this.storageGb = response.StorageGb;\n this.maxStorageGb = response.MaxStorageGb;\n this.paymentSource = response.PaymentSource == null ? null : new BillingSourceResponse(response.PaymentSource);\n this.subscription = response.Subscription == null ?\n null : new BillingSubscriptionResponse(response.Subscription);\n this.upcomingInvoice = response.UpcomingInvoice == null ?\n null : new BillingInvoiceResponse(response.UpcomingInvoice);\n if (response.Charges != null) {\n this.charges = response.Charges.map((c: any) => new BillingChargeResponse(c));\n }\n this.license = response.License;\n this.expiration = response.Expiration;\n }\n}\n\nexport class BillingSourceResponse {\n type: PaymentMethodType;\n cardBrand: string;\n description: string;\n needsVerification: boolean;\n\n constructor(response: any) {\n this.type = response.Type;\n this.cardBrand = response.CardBrand;\n this.description = response.Description;\n this.needsVerification = response.NeedsVerification;\n }\n}\n\nexport class BillingSubscriptionResponse {\n trialStartDate: Date;\n trialEndDate: Date;\n periodStartDate: Date;\n periodEndDate: Date;\n cancelledDate: Date;\n cancelAtEndDate: boolean;\n status: string;\n cancelled: boolean;\n items: BillingSubscriptionItemResponse[] = [];\n\n constructor(response: any) {\n this.trialEndDate = response.TrialStartDate;\n this.trialEndDate = response.TrialEndDate;\n this.periodStartDate = response.PeriodStartDate;\n this.periodEndDate = response.PeriodEndDate;\n this.cancelledDate = response.CancelledDate;\n this.cancelAtEndDate = response.CancelAtEndDate;\n this.status = response.Status;\n this.cancelled = response.Cancelled;\n if (response.Items != null) {\n this.items = response.Items.map((i: any) => new BillingSubscriptionItemResponse(i));\n }\n }\n}\n\nexport class BillingSubscriptionItemResponse {\n name: string;\n amount: number;\n quantity: number;\n interval: string;\n\n constructor(response: any) {\n this.name = response.Name;\n this.amount = response.Amount;\n this.quantity = response.Quantity;\n this.interval = response.Interval;\n }\n}\n\nexport class BillingInvoiceResponse {\n date: Date;\n amount: number;\n\n constructor(response: any) {\n this.date = response.Date;\n this.amount = response.Amount;\n }\n}\n\nexport class BillingChargeResponse {\n createdDate: Date;\n amount: number;\n paymentSource: BillingSourceResponse;\n status: string;\n failureMessage: string;\n refunded: boolean;\n partiallyRefunded: boolean;\n refundedAmount: number;\n invoiceId: string;\n\n constructor(response: any) {\n this.createdDate = response.CreatedDate;\n this.amount = response.Amount;\n this.paymentSource = response.PaymentSource != null ? new BillingSourceResponse(response.PaymentSource) : null;\n this.status = response.Status;\n this.failureMessage = response.FailureMessage;\n this.refunded = response.Refunded;\n this.partiallyRefunded = response.PartiallyRefunded;\n this.refundedAmount = response.RefundedAmount;\n this.invoiceId = response.InvoiceId;\n }\n}\n","import { DeviceType } from '../enums/deviceType';\n\nimport { ApiService as ApiServiceAbstraction } from '../abstractions/api.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\n\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { CollectionUserResponse } from '../models/response/collectionUserResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { GroupUserResponse } from '../models/response/groupUserResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationBillingResponse } from '../models/response/organizationBillingResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport { TwoFactorU2fResponse } from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nexport class ApiService implements ApiServiceAbstraction {\n urlsSet: boolean = false;\n apiBaseUrl: string;\n identityBaseUrl: string;\n\n private deviceType: string;\n private isWebClient = false;\n private isDesktopClient = false;\n private usingBaseUrl = false;\n\n constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,\n private logoutCallback: (expired: boolean) => Promise) {\n const device = platformUtilsService.getDevice();\n this.deviceType = device.toString();\n this.isWebClient = device === DeviceType.IEBrowser || device === DeviceType.ChromeBrowser ||\n device === DeviceType.EdgeBrowser || device === DeviceType.FirefoxBrowser ||\n device === DeviceType.OperaBrowser || device === DeviceType.SafariBrowser ||\n device === DeviceType.UnknownBrowser || device === DeviceType.VivaldiBrowser;\n this.isDesktopClient = device === DeviceType.WindowsDesktop || device === DeviceType.MacOsDesktop ||\n device === DeviceType.LinuxDesktop;\n }\n\n setUrls(urls: EnvironmentUrls): void {\n this.urlsSet = true;\n\n if (urls.base != null) {\n this.usingBaseUrl = true;\n this.apiBaseUrl = urls.base + '/api';\n this.identityBaseUrl = urls.base + '/identity';\n return;\n }\n\n if (urls.api != null && urls.identity != null) {\n this.apiBaseUrl = urls.api;\n this.identityBaseUrl = urls.identity;\n return;\n }\n\n /* tslint:disable */\n // Local Dev\n //this.apiBaseUrl = 'http://localhost:4000';\n //this.identityBaseUrl = 'http://localhost:33656';\n\n // Production\n this.apiBaseUrl = 'https://api.bitwarden.com';\n this.identityBaseUrl = 'https://identity.bitwarden.com';\n /* tslint:enable */\n }\n\n // Auth APIs\n\n async postIdentityToken(request: TokenRequest): Promise {\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify(request.toIdentityToken(this.platformUtilsService.identityClientId)),\n credentials: this.getCredentials(),\n cache: 'no-cache',\n headers: new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n }),\n method: 'POST',\n }));\n\n let responseJson: any = null;\n const typeHeader = response.headers.get('content-type');\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\n responseJson = await response.json();\n }\n\n if (responseJson != null) {\n if (response.status === 200) {\n return new IdentityTokenResponse(responseJson);\n } else if (response.status === 400 && responseJson.TwoFactorProviders2 &&\n Object.keys(responseJson.TwoFactorProviders2).length) {\n await this.tokenService.clearTwoFactorToken(request.email);\n return new IdentityTwoFactorResponse(responseJson);\n }\n }\n\n return Promise.reject(new ErrorResponse(responseJson, response.status, true));\n }\n\n async refreshIdentityToken(): Promise {\n try {\n await this.doRefreshToken();\n } catch (e) {\n return Promise.reject(null);\n }\n }\n\n // Account APIs\n\n async getProfile(): Promise {\n const r = await this.send('GET', '/accounts/profile', null, true, true);\n return new ProfileResponse(r);\n }\n\n async getUserBilling(): Promise {\n const r = await this.send('GET', '/accounts/billing', null, true, true);\n return new BillingResponse(r);\n }\n\n async putProfile(request: UpdateProfileRequest): Promise {\n const r = await this.send('PUT', '/accounts/profile', request, true, true);\n return new ProfileResponse(r);\n }\n\n postEmailToken(request: EmailTokenRequest): Promise {\n return this.send('POST', '/accounts/email-token', request, true, false);\n }\n\n postEmail(request: EmailRequest): Promise {\n return this.send('POST', '/accounts/email', request, true, false);\n }\n\n postPassword(request: PasswordRequest): Promise {\n return this.send('POST', '/accounts/password', request, true, false);\n }\n\n postSecurityStamp(request: PasswordVerificationRequest): Promise {\n return this.send('POST', '/accounts/security-stamp', request, true, false);\n }\n\n deleteAccount(request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/accounts', request, true, false);\n }\n\n async getAccountRevisionDate(): Promise {\n const r = await this.send('GET', '/accounts/revision-date', null, true, true);\n return r as number;\n }\n\n postPasswordHint(request: PasswordHintRequest): Promise {\n return this.send('POST', '/accounts/password-hint', request, false, false);\n }\n\n postRegister(request: RegisterRequest): Promise {\n return this.send('POST', '/accounts/register', request, false, false);\n }\n\n postPremium(data: FormData): Promise {\n return this.send('POST', '/accounts/premium', data, true, false);\n }\n\n postReinstatePremium(): Promise {\n return this.send('POST', '/accounts/reinstate-premium', null, true, false);\n }\n\n postCancelPremium(): Promise {\n return this.send('POST', '/accounts/cancel-premium', null, true, false);\n }\n\n postAccountStorage(request: StorageRequest): Promise {\n return this.send('POST', '/accounts/storage', request, true, false);\n }\n\n postAccountPayment(request: PaymentRequest): Promise {\n return this.send('POST', '/accounts/payment', request, true, false);\n }\n\n postAccountLicense(data: FormData): Promise {\n return this.send('POST', '/accounts/license', data, true, false);\n }\n\n postAccountKeys(request: KeysRequest): Promise {\n return this.send('POST', '/accounts/keys', request, true, false);\n }\n\n postAccountKey(request: UpdateKeyRequest): Promise {\n return this.send('POST', '/accounts/key', request, true, false);\n }\n\n postAccountVerifyEmail(): Promise {\n return this.send('POST', '/accounts/verify-email', null, true, false);\n }\n\n postAccountVerifyEmailToken(request: VerifyEmailRequest): Promise {\n return this.send('POST', '/accounts/verify-email-token', request, false, false);\n }\n\n postAccountRecoverDelete(request: DeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover', request, false, false);\n }\n\n postAccountRecoverDeleteToken(request: VerifyDeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover-token', request, false, false);\n }\n\n // Folder APIs\n\n async postFolder(request: FolderRequest): Promise {\n const r = await this.send('POST', '/folders', request, true, true);\n return new FolderResponse(r);\n }\n\n async putFolder(id: string, request: FolderRequest): Promise {\n const r = await this.send('PUT', '/folders/' + id, request, true, true);\n return new FolderResponse(r);\n }\n\n deleteFolder(id: string): Promise {\n return this.send('DELETE', '/folders/' + id, null, true, false);\n }\n\n // Cipher APIs\n\n async getCipher(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id, null, true, true);\n return new CipherResponse(r);\n }\n\n async getCipherAdmin(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id + '/admin', null, true, true);\n return new CipherResponse(r);\n }\n\n async getCiphersOrganization(organizationId: string): Promise> {\n const r = await this.send('GET', '/ciphers/organization-details?organizationId=' + organizationId,\n null, true, true);\n return new ListResponse(r, CipherResponse);\n }\n\n async postCipher(request: CipherRequest): Promise {\n const r = await this.send('POST', '/ciphers', request, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAdmin(request: CipherRequest): Promise {\n const r = await this.send('POST', '/ciphers/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipher(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id, request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipherAdmin(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipher(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id, null, true, false);\n }\n\n deleteCipherAdmin(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/admin', null, true, false);\n }\n\n deleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\n return this.send('DELETE', '/ciphers', request, true, false);\n }\n\n putMoveCiphers(request: CipherBulkMoveRequest): Promise {\n return this.send('PUT', '/ciphers/move', request, true, false);\n }\n\n putShareCipher(id: string, request: CipherShareRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/share', request, true, false);\n }\n\n putShareCiphers(request: CipherBulkShareRequest): Promise {\n return this.send('PUT', '/ciphers/share', request, true, false);\n }\n\n putCipherCollections(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections', request, true, false);\n }\n\n putCipherCollectionsAdmin(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections-admin', request, true, false);\n }\n\n postPurgeCiphers(request: PasswordVerificationRequest): Promise {\n return this.send('POST', '/ciphers/purge', request, true, false);\n }\n\n postImportCiphers(request: ImportCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import', request, true, false);\n }\n\n postImportOrganizationCiphers(organizationId: string, request: ImportOrganizationCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import-organization?organizationId=' + organizationId, request, true, false);\n }\n\n // Attachments APIs\n\n async postCipherAttachment(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment', data, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAttachmentAdmin(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment-admin', data, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipherAttachment(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId, null, true, false);\n }\n\n deleteCipherAttachmentAdmin(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId + '/admin', null, true, false);\n }\n\n postShareCipherAttachment(id: string, attachmentId: string, data: FormData,\n organizationId: string): Promise {\n return this.send('POST', '/ciphers/' + id + '/attachment/' +\n attachmentId + '/share?organizationId=' + organizationId, data, true, false);\n }\n\n // Collections APIs\n\n async getCollectionDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/details',\n null, true, true);\n return new CollectionGroupDetailsResponse(r);\n }\n\n async getCollections(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections', null, true, true);\n return new ListResponse(r, CollectionResponse);\n }\n\n async getCollectionUsers(organizationId: string, id: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/users',\n null, true, true);\n return new ListResponse(r, CollectionUserResponse);\n }\n\n async postCollection(organizationId: string, request: CollectionRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/collections', request, true, true);\n return new CollectionResponse(r);\n }\n\n async putCollection(organizationId: string, id: string, request: CollectionRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id,\n request, true, true);\n return new CollectionResponse(r);\n }\n\n deleteCollection(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/collections/' + id, null, true, false);\n }\n\n deleteCollectionUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/collections/' + id + '/user/' + organizationUserId,\n null, true, false);\n }\n\n // Groups APIs\n\n async getGroupDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/details',\n null, true, true);\n return new GroupDetailsResponse(r);\n }\n\n async getGroups(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups', null, true, true);\n return new ListResponse(r, GroupResponse);\n }\n\n async getGroupUsers(organizationId: string, id: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/users',\n null, true, true);\n return new ListResponse(r, GroupUserResponse);\n }\n\n async postGroup(organizationId: string, request: GroupRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/groups', request, true, true);\n return new GroupResponse(r);\n }\n\n async putGroup(organizationId: string, id: string, request: GroupRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id, request, true, true);\n return new GroupResponse(r);\n }\n\n deleteGroup(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/groups/' + id, null, true, false);\n }\n\n deleteGroupUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/groups/' + id + '/user/' + organizationUserId, null, true, false);\n }\n\n // Organization User APIs\n\n async getOrganizationUser(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id, null, true, true);\n return new OrganizationUserDetailsResponse(r);\n }\n\n async getOrganizationUserGroups(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id + '/groups',\n null, true, true);\n return r;\n }\n\n async getOrganizationUsers(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users', null, true, true);\n return new ListResponse(r, OrganizationUserUserDetailsResponse);\n }\n\n postOrganizationUserInvite(organizationId: string, request: OrganizationUserInviteRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/invite', request, true, false);\n }\n\n postOrganizationUserReinvite(organizationId: string, id: string): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false);\n }\n\n postOrganizationUserAccept(organizationId: string, id: string,\n request: OrganizationUserAcceptRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/accept', request, true, false);\n }\n\n postOrganizationUserConfirm(organizationId: string, id: string,\n request: OrganizationUserConfirmRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/confirm',\n request, true, false);\n }\n\n putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false);\n }\n\n putOrganizationUserGroups(organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id + '/groups', request, true, false);\n }\n\n deleteOrganizationUser(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false);\n }\n\n // Sync APIs\n\n async getSync(): Promise {\n const path = this.isDesktopClient || this.isWebClient ? '/sync?excludeDomains=true' : '/sync';\n const r = await this.send('GET', path, null, true, true);\n return new SyncResponse(r);\n }\n\n async postImportDirectory(organizationId: string, request: ImportDirectoryRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/import', request, true, false);\n }\n\n // Settings APIs\n\n async getSettingsDomains(): Promise {\n const r = await this.send('GET', '/settings/domains', null, true, true);\n return new DomainsResponse(r);\n }\n\n async putSettingsDomains(request: UpdateDomainsRequest): Promise {\n const r = await this.send('PUT', '/settings/domains', request, true, true);\n return new DomainsResponse(r);\n }\n\n // Two-factor APIs\n\n async getTwoFactorProviders(): Promise> {\n const r = await this.send('GET', '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorOrganizationProviders(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async getTwoFactorEmail(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async getTwoFactorDuo(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorOrganizationDuo(organizationId: string,\n request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo',\n request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async getTwoFactorU2f(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async getTwoFactorRecover(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-recover', request, true, true);\n return new TwoFactorRecoverResponse(r);\n }\n\n async putTwoFactorAuthenticator(\n request: UpdateTwoFactorAuthenticatorRequest): Promise {\n const r = await this.send('PUT', '/two-factor/authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async putTwoFactorEmail(request: UpdateTwoFactorEmailRequest): Promise {\n const r = await this.send('PUT', '/two-factor/email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async putTwoFactorDuo(request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorOrganizationDuo(organizationId: string,\n request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise {\n const r = await this.send('PUT', '/two-factor/yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async putTwoFactorU2f(request: UpdateTwoFactorU2fRequest): Promise {\n const r = await this.send('PUT', '/two-factor/u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async putTwoFactorDisable(request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/two-factor/disable', request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n async putTwoFactorOrganizationDisable(organizationId: string,\n request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable',\n request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise {\n return this.send('POST', '/two-factor/recover', request, false, false);\n }\n\n postTwoFactorEmailSetup(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email', request, true, false);\n }\n\n postTwoFactorEmail(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email-login', request, false, false);\n }\n\n // Organization APIs\n\n async getOrganization(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id, null, true, true);\n return new OrganizationResponse(r);\n }\n\n async getOrganizationBilling(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/billing', null, true, true);\n return new OrganizationBillingResponse(r);\n }\n\n async getOrganizationLicense(id: string, installationId: string): Promise {\n return this.send('GET', '/organizations/' + id + '/license?installationId=' + installationId,\n null, true, true);\n }\n\n async postOrganization(request: OrganizationCreateRequest): Promise {\n const r = await this.send('POST', '/organizations', request, true, true);\n return new OrganizationResponse(r);\n }\n\n async putOrganization(id: string, request: OrganizationUpdateRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + id, request, true, true);\n return new OrganizationResponse(r);\n }\n\n postLeaveOrganization(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/leave', null, true, false);\n }\n\n async postOrganizationLicense(data: FormData): Promise {\n const r = await this.send('POST', '/organizations/license', data, true, true);\n return new OrganizationResponse(r);\n }\n\n async postOrganizationLicenseUpdate(id: string, data: FormData): Promise {\n return this.send('POST', '/organizations/' + id + '/license', data, true, false);\n }\n\n postOrganizationSeat(id: string, request: SeatRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/seat', request, true, false);\n }\n\n postOrganizationStorage(id: string, request: StorageRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/storage', request, true, false);\n }\n\n postOrganizationPayment(id: string, request: PaymentRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/payment', request, true, false);\n }\n\n postOrganizationVerifyBank(id: string, request: VerifyBankRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/verify-bank', request, true, false);\n }\n\n postOrganizationCancel(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/cancel', null, true, false);\n }\n\n postOrganizationReinstate(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/reinstate', null, true, false);\n }\n\n deleteOrganization(id: string, request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/organizations/' + id, request, true, false);\n }\n\n // Event APIs\n\n async getEvents(start: string, end: string, token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/events', start, end, token), null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsCipher(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/ciphers/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganization(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/organizations/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganizationUser(organizationId: string, id: string,\n start: string, end: string, token: string): Promise> {\n const r = await this.send('GET',\n this.addEventParameters('/organizations/' + organizationId + '/users/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n // User APIs\n\n async getUserPublicKey(id: string): Promise {\n const r = await this.send('GET', '/users/' + id + '/public-key', null, true, true);\n return new UserKeyResponse(r);\n }\n\n // Helpers\n\n fetch(request: Request): Promise {\n if (request.method === 'GET') {\n request.headers.set('Cache-Control', 'no-cache');\n request.headers.set('Pragma', 'no-cache');\n }\n return fetch(request);\n }\n\n private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any,\n authed: boolean, hasResponse: boolean): Promise {\n const headers = new Headers({\n 'Device-Type': this.deviceType,\n });\n\n const requestInit: RequestInit = {\n cache: 'no-cache',\n credentials: this.getCredentials(),\n method: method,\n };\n\n if (authed) {\n const authHeader = await this.handleTokenState();\n headers.set('Authorization', authHeader);\n }\n if (body != null) {\n if (typeof body === 'string') {\n requestInit.body = body;\n headers.set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');\n } else if (typeof body === 'object') {\n if (body instanceof FormData) {\n requestInit.body = body;\n } else {\n headers.set('Content-Type', 'application/json; charset=utf-8');\n requestInit.body = JSON.stringify(body);\n }\n }\n }\n if (hasResponse) {\n headers.set('Accept', 'application/json');\n }\n\n requestInit.headers = headers;\n const response = await this.fetch(new Request(this.apiBaseUrl + path, requestInit));\n\n if (hasResponse && response.status === 200) {\n const responseJson = await response.json();\n return responseJson;\n } else if (response.status !== 200) {\n const error = await this.handleError(response, false);\n return Promise.reject(error);\n }\n }\n\n private async handleError(response: Response, tokenError: boolean): Promise {\n if ((tokenError && response.status === 400) || response.status === 401 || response.status === 403) {\n await this.logoutCallback(true);\n return null;\n }\n\n let responseJson: any = null;\n const typeHeader = response.headers.get('content-type');\n if (typeHeader != null && typeHeader.indexOf('application/json') > -1) {\n responseJson = await response.json();\n }\n\n return new ErrorResponse(responseJson, response.status, tokenError);\n }\n\n private async handleTokenState(): Promise {\n let accessToken = await this.tokenService.getToken();\n if (this.tokenService.tokenNeedsRefresh()) {\n const tokenResponse = await this.doRefreshToken();\n accessToken = tokenResponse.accessToken;\n }\n\n return 'Bearer ' + accessToken;\n }\n\n private async doRefreshToken(): Promise {\n const refreshToken = await this.tokenService.getRefreshToken();\n if (refreshToken == null || refreshToken === '') {\n throw new Error();\n }\n\n const decodedToken = this.tokenService.decodeToken();\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify({\n grant_type: 'refresh_token',\n client_id: decodedToken.client_id,\n refresh_token: refreshToken,\n }),\n cache: 'no-cache',\n credentials: this.getCredentials(),\n headers: new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n }),\n method: 'POST',\n }));\n\n if (response.status === 200) {\n const responseJson = await response.json();\n const tokenResponse = new IdentityTokenResponse(responseJson);\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n return tokenResponse;\n } else {\n const error = await this.handleError(response, true);\n return Promise.reject(error);\n }\n }\n\n private qsStringify(params: any): string {\n return Object.keys(params).map((key) => {\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\n }).join('&');\n }\n\n private getCredentials(): RequestCredentials {\n if (!this.isWebClient || this.usingBaseUrl) {\n return 'include';\n }\n return undefined;\n }\n\n private addEventParameters(base: string, start: string, end: string, token: string) {\n if (start != null) {\n base += ('?start=' + start);\n }\n if (end != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('end=' + end);\n }\n if (token != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('continuationToken=' + token);\n }\n return base;\n }\n}\n","import {\r\n Directive,\r\n ElementRef,\r\n forwardRef,\r\n HostListener,\r\n Input,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n NG_VALUE_ACCESSOR,\r\n NgControl,\r\n} from '@angular/forms';\r\n\r\n// ref: https://juristr.com/blog/2018/02/ng-true-value-directive/\r\n@Directive({\r\n selector: 'input[type=checkbox][appTrueFalseValue]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TrueFalseValueDirective),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TrueFalseValueDirective implements ControlValueAccessor {\r\n @Input() trueValue = true;\r\n @Input() falseValue = false;\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('change', ['$event'])\r\n onHostChange(ev: any) {\r\n this.propagateChange(ev.target.checked ? this.trueValue : this.falseValue);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj === this.trueValue) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\r\n } else {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void { /* nothing */ }\r\n\r\n setDisabledState?(isDisabled: boolean): void { /* nothing */ }\r\n\r\n private propagateChange = (_: any) => { /* nothing */ };\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appBoxRow]',\r\n})\r\nexport class BoxRowDirective implements OnInit {\r\n el: HTMLElement = null;\r\n formEls: Element[];\r\n\r\n constructor(private elRef: ElementRef) {\r\n this.el = elRef.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formEls = Array.from(this.el.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\r\n this.formEls.forEach((formEl) => {\r\n formEl.addEventListener('focus', (event: Event) => {\r\n this.el.classList.add('active');\r\n }, false);\r\n\r\n formEl.addEventListener('blur', (event: Event) => {\r\n this.el.classList.remove('active');\r\n }, false);\r\n });\r\n }\r\n\r\n @HostListener('click', ['$event']) onClick(event: Event) {\r\n if (event.target !== this.el) {\r\n return;\r\n }\r\n\r\n if (this.formEls.length > 0) {\r\n const formEl = (this.formEls[0] as HTMLElement);\r\n if (formEl.tagName.toLowerCase() === 'input') {\r\n const inputEl = (formEl as HTMLInputElement);\r\n if (inputEl.type != null && inputEl.type.toLowerCase() === 'checkbox') {\r\n inputEl.click();\r\n return;\r\n }\r\n }\r\n formEl.focus();\r\n }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { SeatRequest } from 'jslib/models/request/seatRequest';\n\n@Component({\n selector: 'app-adjust-seats',\n templateUrl: 'adjust-seats.component.html',\n})\nexport class AdjustSeatsComponent {\n @Input() seatPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n seatAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new SeatRequest();\n request.seatAdjustment = this.seatAdjustment;\n if (!this.add) {\n request.seatAdjustment *= -1;\n }\n\n this.formPromise = this.apiService.postOrganizationSeat(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Seats' : 'Removed Seats' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedSeats', request.seatAdjustment.toString()));\n this.onAdjusted.emit(this.seatAdjustment);\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedSeatTotal(): number {\n return this.seatAdjustment * this.seatAdjustment;\n }\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-organization',\n templateUrl: 'delete-organization.component.html',\n})\nexport class DeleteOrganizationComponent {\n organizationId: string;\n\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteOrganization(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationDeleted'),\n this.i18nService.t('organizationDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { OrganizationUserUpdateGroupsRequest } from 'jslib/models/request/organizationUserUpdateGroupsRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-groups',\n templateUrl: 'user-groups.component.html',\n})\nexport class UserGroupsComponent implements OnInit {\n @Input() name: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onSavedUser = new EventEmitter();\n\n loading = true;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n const groups = groupsResponse.data.map((r) => r);\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n\n try {\n const userGroups = await this.apiService.getOrganizationUserGroups(\n this.organizationId, this.organizationUserId);\n if (userGroups != null && this.groups != null) {\n userGroups.forEach((ug) => {\n const group = this.groups.filter((g) => g.id === ug);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n }\n });\n }\n } catch { }\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new OrganizationUserUpdateGroupsRequest();\n request.groupIds = this.groups.filter((g) => (g as any).checked).map((g) => g.id);\n\n try {\n this.formPromise = this.apiService.putOrganizationUserGroups(this.organizationId, this.organizationUserId,\n request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Edited User Groups' });\n this.toasterService.popAsync('success', null, this.i18nService.t('editedGroupsForUser', this.name));\n this.onSavedUser.emit();\n } catch { }\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { OrganizationUserInviteRequest } from 'jslib/models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateRequest } from 'jslib/models/request/organizationUserUpdateRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Component({\r\n selector: 'app-user-add-edit',\r\n templateUrl: 'user-add-edit.component.html',\r\n})\r\nexport class UserAddEditComponent implements OnInit {\r\n @Input() name: string;\r\n @Input() organizationUserId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedUser = new EventEmitter();\r\n @Output() onDeletedUser = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n emails: string;\r\n type: OrganizationUserType = OrganizationUserType.User;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n organizationUserType = OrganizationUserType;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.organizationUserId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editUser');\r\n try {\r\n const user = await this.apiService.getOrganizationUser(this.organizationId, this.organizationUserId);\r\n this.access = user.accessAll ? 'all' : 'selected';\r\n this.type = user.type;\r\n if (user.collections != null && this.collections != null) {\r\n user.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('inviteUser');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n let collections: SelectionReadOnlyRequest[] = null;\r\n if (this.access !== 'all') {\r\n collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n const request = new OrganizationUserUpdateRequest();\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.putOrganizationUser(this.organizationId, this.organizationUserId,\r\n request);\r\n } else {\r\n const request = new OrganizationUserInviteRequest();\r\n request.emails = this.emails.trim().split(/\\s*,\\s*/);\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.postOrganizationUserInvite(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited User' : 'Invited User' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\r\n this.onSavedUser.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('removeUserConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteOrganizationUser(this.organizationId, this.organizationUserId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted User' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', this.name));\r\n this.onDeletedUser.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { GroupRequest } from 'jslib/models/request/groupRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\n@Component({\r\n selector: 'app-group-add-edit',\r\n templateUrl: 'group-add-edit.component.html',\r\n})\r\nexport class GroupAddEditComponent implements OnInit {\r\n @Input() groupId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedGroup = new EventEmitter();\r\n @Output() onDeletedGroup = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n name: string;\r\n externalId: string;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.groupId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editGroup');\r\n try {\r\n const group = await this.apiService.getGroupDetails(this.organizationId, this.groupId);\r\n this.access = group.accessAll ? 'all' : 'selected';\r\n this.name = group.name;\r\n this.externalId = group.externalId;\r\n if (group.collections != null && this.collections != null) {\r\n group.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('addGroup');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n const request = new GroupRequest();\r\n request.name = this.name;\r\n request.externalId = this.externalId;\r\n request.accessAll = this.access === 'all';\r\n if (!request.accessAll) {\r\n request.collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n this.formPromise = this.apiService.putGroup(this.organizationId, this.groupId, request);\r\n } else {\r\n this.formPromise = this.apiService.postGroup(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Group' : 'Created Group' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedGroupId' : 'createdGroupId', this.name));\r\n this.onSavedGroup.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteGroupConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteGroup(this.organizationId, this.groupId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', this.name));\r\n this.onDeletedGroup.emit();\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-collection-add-edit',\n templateUrl: 'collection-add-edit.component.html',\n})\nexport class CollectionAddEditComponent implements OnInit {\n @Input() collectionId: string;\n @Input() organizationId: string;\n @Output() onSavedCollection = new EventEmitter();\n @Output() onDeletedCollection = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n title: string;\n name: string;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n\n private orgKey: SymmetricCryptoKey;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.collectionId != null;\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n this.groups = groupsResponse.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editCollection');\n try {\n const collection = await this.apiService.getCollectionDetails(this.organizationId, this.collectionId);\n this.name = await this.cryptoService.decryptToUtf8(new CipherString(collection.name), this.orgKey);\n if (collection.groups != null && this.groups != null) {\n collection.groups.forEach((s) => {\n const group = this.groups.filter((g) => !g.accessAll && g.id === s.id);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n (group[0] as any).readOnly = s.readOnly;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('addCollection');\n }\n\n this.groups.forEach((g) => {\n if (g.accessAll) {\n (g as any).checked = true;\n }\n });\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n if (g.accessAll) {\n return;\n }\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new CollectionRequest();\n request.name = (await this.cryptoService.encrypt(this.name, this.orgKey)).encryptedString;\n request.groups = this.groups.filter((g) => (g as any).checked && !g.accessAll)\n .map((g) => new SelectionReadOnlyRequest(g.id, !!(g as any).readOnly));\n\n try {\n if (this.editMode) {\n this.formPromise = this.apiService.putCollection(this.organizationId, this.collectionId, request);\n } else {\n this.formPromise = this.apiService.postCollection(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Collection' : 'Created Collection' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedCollectionId' : 'createdCollectionId', this.name));\n this.onSavedCollection.emit();\n } catch { }\n }\n\n async delete() {\n if (!this.editMode) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), this.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.apiService.deleteCollection(this.organizationId, this.collectionId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', this.name));\n this.onDeletedCollection.emit();\n } catch { }\n }\n}\n","import { Collection } from '../domain/collection';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class CollectionRequest {\n name: string;\n groups: SelectionReadOnlyRequest[] = [];\n\n constructor(collection?: Collection) {\n if (collection == null) {\n return;\n }\n this.name = collection.name ? collection.name.encryptedString : null;\n }\n}\n","export class CipherCollectionsRequest {\n collectionIds: string[];\n\n constructor(collectionIds: string[]) {\n this.collectionIds = collectionIds == null ? [] : collectionIds;\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { CipherData } from 'jslib/models/data/cipherData';\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CipherCollectionsRequest } from 'jslib/models/request/cipherCollectionsRequest';\r\n\r\nimport { CollectionsComponent as BaseCollectionsComponent } from '../../vault/collections.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-collections',\r\n templateUrl: '../../vault/collections.component.html',\r\n})\r\nexport class CollectionsComponent extends BaseCollectionsComponent {\r\n organization: Organization;\r\n\r\n constructor(collectionService: CollectionService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cipherService: CipherService, private apiService: ApiService) {\r\n super(collectionService, analytics, toasterService, i18nService, cipherService);\r\n }\r\n\r\n protected async loadCipher() {\r\n if (!this.organization.isAdmin) {\r\n return await super.loadCipher();\r\n }\r\n const response = await this.apiService.getCipherAdmin(this.cipherId);\r\n return new Cipher(new CipherData(response));\r\n }\r\n\r\n protected loadCipherCollections() {\r\n if (!this.organization.isAdmin) {\r\n return super.loadCipherCollections();\r\n }\r\n return this.collectionIds;\r\n }\r\n\r\n protected loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n return super.loadCollections();\r\n }\r\n return Promise.resolve(this.collections);\r\n }\r\n\r\n protected saveCollections() {\r\n const request = new CipherCollectionsRequest(this.cipherDomain.collectionIds);\r\n return this.apiService.putCipherCollectionsAdmin(this.cipherId, request);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { CipherData } from 'jslib/models/data/cipherData';\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from '../../vault/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-attachments',\r\n templateUrl: '../../vault/attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n organization: Organization;\r\n\r\n constructor(cipherService: CipherService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n cryptoService: CryptoService, tokenService: TokenService,\r\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\r\n super(cipherService, analytics, toasterService, i18nService, cryptoService, tokenService,\r\n platformUtilsService);\r\n }\r\n\r\n protected async loadCipher() {\r\n if (!this.organization.isAdmin) {\r\n return await super.loadCipher();\r\n }\r\n const response = await this.apiService.getCipherAdmin(this.cipherId);\r\n return new Cipher(new CipherData(response));\r\n }\r\n\r\n protected saveCipherAttachment(file: File) {\r\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file, this.organization.isAdmin);\r\n }\r\n\r\n protected deleteCipherAttachment(attachmentId: string) {\r\n if (!this.organization.isAdmin) {\r\n return super.deleteCipherAttachment(attachmentId);\r\n }\r\n return this.apiService.deleteCipherAttachmentAdmin(this.cipherId, attachmentId);\r\n }\r\n}\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\n\nimport { AddEditComponent as BaseAddEditComponent } from '../../vault/add-edit.component';\n\n@Component({\n selector: 'app-org-vault-add-edit',\n templateUrl: '../../vault/add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent implements OnInit {\n organization: Organization;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n analytics: Angulartics2, toasterService: ToasterService,\n auditService: AuditService, stateService: StateService,\n tokenService: TokenService, totpService: TotpService,\n passwordGenerationService: PasswordGenerationService, private apiService: ApiService,\n messagingService: MessagingService) {\n super(cipherService, folderService, i18nService, platformUtilsService, analytics,\n toasterService, auditService, stateService, tokenService, totpService, passwordGenerationService,\n messagingService);\n }\n\n protected async loadCipher() {\n if (!this.organization.isAdmin) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected encryptCipher() {\n if (!this.editMode) {\n this.cipher.organizationId = this.organization.id;\n }\n return super.encryptCipher();\n }\n\n protected async saveCipher(cipher: Cipher) {\n if (!this.organization.isAdmin) {\n return super.saveCipher(cipher);\n }\n const request = new CipherRequest(cipher);\n if (this.editMode) {\n return this.apiService.putCipherAdmin(this.cipherId, request);\n } else {\n return this.apiService.postCipherAdmin(request);\n }\n }\n\n protected async deleteCipher() {\n if (!this.organization.isAdmin) {\n return super.deleteCipher();\n }\n return this.apiService.deleteCipherAdmin(this.cipherId);\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteData } from '../data/secureNoteData';\n\nimport Domain from './domain';\n\nimport { SecureNoteView } from '../view/secureNoteView';\n\nexport class SecureNote extends Domain {\n type: SecureNoteType;\n\n constructor(obj?: SecureNoteData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n }\n\n decrypt(orgId: string): Promise {\n return Promise.resolve(new SecureNoteView(this));\n }\n\n toSecureNoteData(): SecureNoteData {\n const n = new SecureNoteData();\n n.type = this.type;\n return n;\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriData } from '../data/loginUriData';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class LoginUri extends Domain {\n uri: CipherString;\n match: UriMatchType;\n\n constructor(obj?: LoginUriData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.match = obj.match;\n this.buildDomainModel(this, obj, {\n uri: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new LoginUriView(this), {\n uri: null,\n }, orgId);\n }\n\n toLoginUriData(): LoginUriData {\n const u = new LoginUriData();\n this.buildDataModel(this, u, {\n uri: null,\n }, ['match']);\n return u;\n }\n}\n","import { LoginUri } from './loginUri';\n\nimport { LoginData } from '../data/loginData';\n\nimport { LoginUriView } from '../view/loginUriView';\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nexport class Login extends Domain {\n uris: LoginUri[];\n username: CipherString;\n password: CipherString;\n totp: CipherString;\n\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n username: null,\n password: null,\n totp: null,\n }, alreadyEncrypted, []);\n\n if (obj.uris) {\n this.uris = [];\n obj.uris.forEach((u) => {\n this.uris.push(new LoginUri(u, alreadyEncrypted));\n });\n }\n }\n\n async decrypt(orgId: string): Promise {\n const view = await this.decryptObj(new LoginView(this), {\n username: null,\n password: null,\n totp: null,\n }, orgId);\n\n if (this.uris != null) {\n view.uris = [];\n for (let i = 0; i < this.uris.length; i++) {\n const uri = await this.uris[i].decrypt(orgId);\n view.uris.push(uri);\n }\n }\n\n return view;\n }\n\n toLoginData(): LoginData {\n const l = new LoginData();\n this.buildDataModel(this, l, {\n username: null,\n password: null,\n totp: null,\n });\n\n if (this.uris != null && this.uris.length > 0) {\n l.uris = [];\n this.uris.forEach((u) => {\n l.uris.push(u.toLoginUriData());\n });\n }\n\n return l;\n }\n}\n","import { IdentityData } from '../data/identityData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { IdentityView } from '../view/identityView';\n\nexport class Identity extends Domain {\n title: CipherString;\n firstName: CipherString;\n middleName: CipherString;\n lastName: CipherString;\n address1: CipherString;\n address2: CipherString;\n address3: CipherString;\n city: CipherString;\n state: CipherString;\n postalCode: CipherString;\n country: CipherString;\n company: CipherString;\n email: CipherString;\n phone: CipherString;\n ssn: CipherString;\n username: CipherString;\n passportNumber: CipherString;\n licenseNumber: CipherString;\n\n constructor(obj?: IdentityData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new IdentityView(this), {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, orgId);\n }\n\n toIdentityData(): IdentityData {\n const i = new IdentityData();\n this.buildDataModel(this, i, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n });\n return i;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldData } from '../data/fieldData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { FieldView } from '../view/fieldView';\n\nexport class Field extends Domain {\n name: CipherString;\n value: CipherString;\n type: FieldType;\n\n constructor(obj?: FieldData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n this.buildDomainModel(this, obj, {\n name: null,\n value: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new FieldView(this), {\n name: null,\n value: null,\n }, orgId);\n }\n\n toFieldData(): FieldData {\n const f = new FieldData();\n this.buildDataModel(this, f, {\n name: null,\n value: null,\n type: null,\n }, ['type']);\n return f;\n }\n}\n","import { CardData } from '../data/cardData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { CardView } from '../view/cardView';\n\nexport class Card extends Domain {\n cardholderName: CipherString;\n brand: CipherString;\n number: CipherString;\n expMonth: CipherString;\n expYear: CipherString;\n code: CipherString;\n\n constructor(obj?: CardData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new CardView(this), {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, orgId);\n }\n\n toCardData(): CardData {\n const c = new CardData();\n this.buildDataModel(this, c, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n });\n return c;\n }\n}\n","import { AttachmentData } from '../data/attachmentData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domain';\n\nimport { AttachmentView } from '../view/attachmentView';\n\nexport class Attachment extends Domain {\n id: string;\n url: string;\n size: number;\n sizeName: string;\n fileName: CipherString;\n\n constructor(obj?: AttachmentData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.size = obj.size;\n this.buildDomainModel(this, obj, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\n }\n\n decrypt(orgId: string): Promise {\n return this.decryptObj(new AttachmentView(this), {\n fileName: null,\n }, orgId);\n }\n\n toAttachmentData(): AttachmentData {\n const a = new AttachmentData();\n this.buildDataModel(this, a, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n }, ['id', 'url', 'sizeName']);\n return a;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class SecureNoteData {\n type: SecureNoteType;\n\n constructor(data?: SecureNoteApi) {\n if (data == null) {\n return;\n }\n\n this.type = data.type;\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriApi } from '../api/loginUriApi';\n\nexport class LoginUriData {\n uri: string;\n match: UriMatchType = null;\n\n constructor(data?: LoginUriApi) {\n if (data == null) {\n return;\n }\n this.uri = data.uri;\n this.match = data.match;\n }\n}\n","import { LoginApi } from '../api/loginApi';\nimport { LoginUriApi } from '../api/loginUriApi';\n\nimport { LoginUriData } from './loginUriData';\n\nexport class LoginData {\n uris: LoginUriData[];\n username: string;\n password: string;\n totp: string;\n\n constructor(data?: LoginApi) {\n if (data == null) {\n return;\n }\n\n this.username = data.username;\n this.password = data.password;\n this.totp = data.totp;\n\n if (data.uris) {\n this.uris = [];\n data.uris.forEach((u) => {\n this.uris.push(new LoginUriData(u));\n });\n }\n }\n}\n","import { IdentityApi } from '../api/identityApi';\n\nexport class IdentityData {\n title: string;\n firstName: string;\n middleName: string;\n lastName: string;\n address1: string;\n address2: string;\n address3: string;\n city: string;\n state: string;\n postalCode: string;\n country: string;\n company: string;\n email: string;\n phone: string;\n ssn: string;\n username: string;\n passportNumber: string;\n licenseNumber: string;\n\n constructor(data?: IdentityApi) {\n if (data == null) {\n return;\n }\n\n this.title = data.title;\n this.firstName = data.firstName;\n this.middleName = data.middleName;\n this.lastName = data.lastName;\n this.address1 = data.address1;\n this.address2 = data.address2;\n this.address3 = data.address3;\n this.city = data.city;\n this.state = data.state;\n this.postalCode = data.postalCode;\n this.country = data.country;\n this.company = data.company;\n this.email = data.email;\n this.phone = data.phone;\n this.ssn = data.ssn;\n this.username = data.username;\n this.passportNumber = data.passportNumber;\n this.licenseNumber = data.licenseNumber;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldApi } from '../api/fieldApi';\n\nexport class FieldData {\n type: FieldType;\n name: string;\n value: string;\n\n constructor(response?: FieldApi) {\n if (response == null) {\n return;\n }\n this.type = response.type;\n this.name = response.name;\n this.value = response.value;\n }\n}\n","import { CardApi } from '../api/cardApi';\n\nexport class CardData {\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(data?: CardApi) {\n if (data == null) {\n return;\n }\n\n this.cardholderName = data.cardholderName;\n this.brand = data.brand;\n this.number = data.number;\n this.expMonth = data.expMonth;\n this.expYear = data.expYear;\n this.code = data.code;\n }\n}\n","import { AttachmentResponse } from '../response/attachmentResponse';\n\nexport class AttachmentData {\n id: string;\n url: string;\n fileName: string;\n size: number;\n sizeName: string;\n\n constructor(response?: AttachmentResponse) {\n if (response == null) {\n return;\n }\n this.id = response.id;\n this.url = response.url;\n this.fileName = response.fileName;\n this.size = response.size;\n this.sizeName = response.sizeName;\n }\n}\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorHistoryComponent as BasePasswordGeneratorHistoryComponent,\r\n} from 'jslib/angular/components/password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator-history',\r\n templateUrl: 'password-generator-history.component.html',\r\n})\r\nexport class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent {\r\n constructor(passwordGenerationService: PasswordGenerationService, analytics: Angulartics2,\r\n platformUtilsService: PlatformUtilsService, i18nService: I18nService,\r\n toasterService: ToasterService) {\r\n super(passwordGenerationService, analytics, platformUtilsService, i18nService, toasterService, window);\r\n }\r\n}\r\n","import { View } from './view';\n\nimport { Attachment } from '../domain/attachment';\n\nexport class AttachmentView implements View {\n id: string;\n url: string;\n size: number;\n sizeName: string;\n fileName: string;\n\n constructor(a?: Attachment) {\n if (!a) {\n return;\n }\n\n this.id = a.id;\n this.url = a.url;\n this.size = a.size;\n this.sizeName = a.sizeName;\n }\n}\n","export class KvpRequest {\n key: TK;\n value: TV;\n\n constructor(key: TK, value: TV) {\n this.key = key;\n this.value = value;\n }\n}\n","export enum PlanType {\n Free = 0,\n FamiliesAnnually = 1,\n TeamsMonthly = 2,\n TeamsAnnually = 3,\n EnterpriseMonthly = 4,\n EnterpriseAnnually = 5,\n Custom = 6,\n}\n","\n

{{'contactSupportPaymentMethod' | i18n}}

\n \n {{'contactSupport' | i18n}}\n \n \n
\n
\n
\n

{{(currentType != null ? 'changePaymentMethod' : 'addPaymentMethod') | i18n}}

\n \n \n \n
\n
\n","
\n
\n

{{(add ? 'addStorage' : 'removeStorage') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{storageAdjustment || 0}} GB × {{storageGbPrice | currency:'$'}} = {{adjustedStorageTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'storageAddNote' : 'storageRemoveNote') | i18n}}\n \n
\n
\n","
\n
\n \n \n {{'licenseFileDesc' | i18n : (!organizationId ? 'bitwarden_premium_license.json' : 'bitwarden_organization_license.json')}}\n
\n \n \n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { UpdateTwoFactorYubioOtpRequest } from 'jslib/models/request/updateTwoFactorYubioOtpRequest';\nimport { TwoFactorYubiKeyResponse } from 'jslib/models/response/twoFactorYubiKeyResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-yubikey',\n templateUrl: 'two-factor-yubikey.component.html',\n})\nexport class TwoFactorYubiKeyComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Yubikey;\n keys: any[];\n nfc = false;\n\n formPromise: Promise;\n disablePromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n const request = new UpdateTwoFactorYubioOtpRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.key1 = this.keys != null && this.keys.length > 0 ? this.keys[0].key : null;\n request.key2 = this.keys != null && this.keys.length > 1 ? this.keys[1].key : null;\n request.key3 = this.keys != null && this.keys.length > 2 ? this.keys[2].key : null;\n request.key4 = this.keys != null && this.keys.length > 3 ? this.keys[3].key : null;\n request.key5 = this.keys != null && this.keys.length > 4 ? this.keys[4].key : null;\n request.nfc = this.nfc;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorYubiKey(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n this.toasterService.popAsync('success', null, this.i18nService.t('yubikeysUpdated'));\n });\n }\n\n disable() {\n return super.disable(this.disablePromise);\n }\n\n remove(key: any) {\n key.existingKey = null;\n key.key = null;\n }\n\n private processResponse(response: TwoFactorYubiKeyResponse) {\n this.enabled = response.enabled;\n this.keys = [\n { key: response.key1, existingKey: this.padRight(response.key1) },\n { key: response.key2, existingKey: this.padRight(response.key2) },\n { key: response.key3, existingKey: this.padRight(response.key3) },\n { key: response.key4, existingKey: this.padRight(response.key4) },\n { key: response.key5, existingKey: this.padRight(response.key5) },\n ];\n this.nfc = response.nfc || !response.enabled;\n }\n\n private padRight(str: string, character = '•', size = 44) {\n if (str == null || character == null || str.length >= size) {\n return str;\n }\n const max = (size - str.length) / character.length;\n for (let i = 0; i < max; i++) {\n str += character;\n }\n return str;\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorU2fRequest } from 'jslib/models/request/updateTwoFactorU2fRequest';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from 'jslib/models/response/twoFactorU2fResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-u2f',\n templateUrl: 'two-factor-u2f.component.html',\n})\nexport class TwoFactorU2fComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.U2f;\n u2fChallenge: ChallengeResponse;\n u2fError: boolean;\n u2fListening: boolean;\n u2fResponse: string;\n formPromise: Promise;\n\n private closed = false;\n private u2fScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.u2fScript = window.document.createElement('script');\n this.u2fScript.src = 'scripts/u2f.js';\n this.u2fScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.u2fScript);\n }\n\n ngOnDestroy() {\n this.closed = true;\n window.document.body.removeChild(this.u2fScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n this.readDevice();\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorU2fRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.deviceResponse = this.u2fResponse;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorU2f(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private readDevice() {\n if (this.closed || this.enabled) {\n return;\n }\n\n // tslint:disable-next-line\n console.log('listening for key...');\n\n this.u2fResponse = null;\n this.u2fError = false;\n this.u2fListening = true;\n\n (window as any).u2f.register(this.u2fChallenge.appId, [{\n version: this.u2fChallenge.version,\n challenge: this.u2fChallenge.challenge,\n }], [], (data: any) => {\n this.u2fListening = false;\n if (data.errorCode === 5) {\n this.readDevice();\n return;\n } else if (data.errorCode) {\n this.u2fError = true;\n // tslint:disable-next-line\n console.log('error: ' + data.errorCode);\n return;\n }\n this.u2fResponse = JSON.stringify(data);\n }, 10);\n }\n\n private processResponse(response: TwoFactorU2fResponse) {\n this.u2fChallenge = response.challenge;\n this.enabled = response.enabled;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoverResponse } from 'jslib/models/response/twoFactorRescoverResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\n@Component({\n selector: 'app-two-factor-recovery',\n templateUrl: 'two-factor-recovery.component.html',\n})\nexport class TwoFactorRecoveryComponent {\n type = -1;\n code: string;\n authed: boolean;\n twoFactorProviderType = TwoFactorProviderType;\n\n constructor(private i18nService: I18nService) { }\n\n auth(authResponse: any) {\n this.authed = true;\n this.processResponse(authResponse.response);\n }\n\n print() {\n const w = window.open();\n w.document.write('
' +\n '

' + this.i18nService.t('twoFactorRecoveryYourCode') + ':

' +\n '' +\n this.code + '
' +\n '

' + new Date() + '

');\n w.print();\n w.close();\n }\n\n private formatString(s: string) {\n if (s == null) {\n return null;\n }\n return s.replace(/(.{4})/g, '$1 ').trim().toUpperCase();\n }\n\n private processResponse(response: TwoFactorRecoverResponse) {\n this.code = this.formatString(response.code);\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorEmailRequest } from 'jslib/models/request/twoFactorEmailRequest';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorEmailRequest } from 'jslib/models/request/updateTwoFactorEmailRequest';\nimport { TwoFactorEmailResponse } from 'jslib/models/response/twoFactorEmailResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-email',\n templateUrl: 'two-factor-email.component.html',\n})\nexport class TwoFactorEmailComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Email;\n email: string;\n token: string;\n sentEmail: string;\n formPromise: Promise;\n emailPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private userService: UserService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n async sendEmail() {\n try {\n const request = new TwoFactorEmailRequest(this.email, this.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmailSetup(request);\n await this.emailPromise;\n this.sentEmail = this.email;\n } catch { }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorEmailRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.email = this.email;\n request.token = this.token;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorEmail(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorEmailResponse) {\n this.token = null;\n this.email = response.email;\n this.enabled = response.enabled;\n if (!this.enabled && (this.email == null || this.email === '')) {\n this.email = await this.userService.getEmail();\n }\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateTwoFactorAuthenticatorRequest } from 'jslib/models/request/updateTwoFactorAuthenticatorRequest';\nimport { TwoFactorAuthenticatorResponse } from 'jslib/models/response/twoFactorAuthenticatorResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-authenticator',\n templateUrl: 'two-factor-authenticator.component.html',\n})\nexport class TwoFactorAuthenticatorComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.Authenticator;\n key: string;\n token: string;\n formPromise: Promise;\n\n private qrScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private userService: UserService, platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.qrScript = window.document.createElement('script');\n this.qrScript.src = 'scripts/qrious.min.js';\n this.qrScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.qrScript);\n }\n\n ngOnDestroy() {\n window.document.body.removeChild(this.qrScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorAuthenticatorRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.token = this.token;\n request.key = this.key;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorAuthenticator(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorAuthenticatorResponse) {\n this.token = null;\n this.enabled = response.enabled;\n this.key = response.key;\n const email = await this.userService.getEmail();\n window.setTimeout(() => {\n const qr = new (window as any).QRious({\n element: document.getElementById('qr'),\n value: 'otpauth://totp/Bitwarden:' + encodeURIComponent(email) +\n '?secret=' + encodeURIComponent(this.key) + '&issuer=Bitwarden',\n size: 160,\n });\n }, 100);\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-purge-vault',\r\n templateUrl: 'purge-vault.component.html',\r\n})\r\nexport class PurgeVaultComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private router: Router) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postPurgeCiphers(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Purged Vault' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('vaultPurged'));\r\n this.router.navigate(['vault']);\r\n } catch { }\r\n }\r\n}\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-account',\n templateUrl: 'delete-account.component.html',\n})\nexport class DeleteAccountComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteAccount(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Account' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-deauthorize-sessions',\r\n templateUrl: 'deauthorize-sessions.component.html',\r\n})\r\nexport class DeauthorizeSessionsComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postSecurityStamp(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Deauthorized Sessions' });\r\n this.toasterService.popAsync('success', this.i18nService.t('sessionsDeauthorized'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { PasswordRequest } from 'jslib/models/request/passwordRequest';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: 'change-password.component.html',\n})\nexport class ChangePasswordComponent {\n currentMasterPassword: string;\n newMasterPassword: string;\n confirmNewMasterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private userService: UserService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n if (this.currentMasterPassword == null || this.currentMasterPassword === '' ||\n this.newMasterPassword == null || this.newMasterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n if (this.newMasterPassword.length < 8) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return;\n }\n if (this.newMasterPassword !== this.confirmNewMasterPassword) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return;\n }\n\n const request = new PasswordRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.currentMasterPassword, null);\n const email = await this.userService.getEmail();\n const newKey = await this.cryptoService.makeKey(this.newMasterPassword, email);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.newMasterPassword, newKey);\n const encKey = await this.cryptoService.getEncKey();\n const newEncKey = await this.cryptoService.encrypt(encKey.key, newKey);\n request.key = newEncKey.encryptedString;\n try {\n this.formPromise = this.apiService.postPassword(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Changed Password' });\n this.toasterService.popAsync('success', this.i18nService.t('masterPasswordChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class EmailTokenRequest extends PasswordVerificationRequest {\n newEmail: string;\n masterPasswordHash: string;\n}\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { EmailRequest } from 'jslib/models/request/emailRequest';\nimport { EmailTokenRequest } from 'jslib/models/request/emailTokenRequest';\n\n@Component({\n selector: 'app-change-email',\n templateUrl: 'change-email.component.html',\n})\nexport class ChangeEmailComponent {\n masterPassword: string;\n newEmail: string;\n token: string;\n tokenSent = false;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n this.newEmail = this.newEmail.toLowerCase();\n if (!this.tokenSent) {\n const request = new EmailTokenRequest();\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postEmailToken(request);\n await this.formPromise;\n this.tokenSent = true;\n } catch { }\n } else {\n const request = new EmailRequest();\n request.token = this.token;\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const newKey = await this.cryptoService.makeKey(this.masterPassword, this.newEmail);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const encKey = await this.cryptoService.getEncKey();\n const newEncKey = await this.cryptoService.encrypt(encKey.key, newKey);\n request.key = newEncKey.encryptedString;\n try {\n this.formPromise = this.apiService.postEmail(request);\n await this.formPromise;\n this.reset();\n this.analytics.eventTrack.next({ action: 'Changed Email' });\n this.toasterService.popAsync('success', this.i18nService.t('emailChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n }\n\n reset() {\n this.token = this.newEmail = this.masterPassword = null;\n this.tokenSent = false;\n }\n}\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { UpdateProfileRequest } from 'jslib/models/request/updateProfileRequest';\r\n\r\nimport { ProfileResponse } from 'jslib/models/response/profileResponse';\r\n\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: 'profile.component.html',\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n loading = true;\r\n profile: ProfileResponse;\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService) { }\r\n\r\n async ngOnInit() {\r\n this.profile = await this.apiService.getProfile();\r\n this.loading = false;\r\n }\r\n\r\n async submit() {\r\n try {\r\n const request = new UpdateProfileRequest(this.profile.name, this.profile.masterPasswordHint);\r\n this.formPromise = this.apiService.putProfile(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Updated Profile' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('accountUpdated'));\r\n } catch { }\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\n@Component({\n selector: 'app-vault-share',\n templateUrl: 'share.component.html',\n})\nexport class ShareComponent implements OnInit, OnDestroy {\n @Input() cipherId: string;\n @Input() organizationId: string;\n @Output() onSharedCipher = new EventEmitter();\n\n formPromise: Promise;\n cipher: CipherView;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private collectionService: CollectionService, private analytics: Angulartics2,\n private toasterService: ToasterService, private i18nService: I18nService,\n private userService: UserService, private cipherService: CipherService) { }\n\n async ngOnInit() {\n const cipherDomain = await this.cipherService.get(this.cipherId);\n this.cipher = await cipherDomain.decrypt();\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const cipherDomain = await this.cipherService.get(this.cipherId);\n const cipherView = await cipherDomain.decrypt();\n\n const attachmentPromises: Array> = [];\n if (cipherView.attachments != null) {\n for (const attachment of cipherView.attachments) {\n const promise = this.cipherService.shareAttachmentWithServer(attachment,\n cipherView.id, this.organizationId);\n attachmentPromises.push(promise);\n }\n }\n\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n this.formPromise = Promise.all(attachmentPromises).then(async () => {\n await this.cipherService.shareWithServer(cipherView, this.organizationId, checkedCollectionIds);\n this.onSharedCipher.emit();\n this.analytics.eventTrack.next({ action: 'Shared Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItem'));\n });\n await this.formPromise;\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n FolderAddEditComponent as BaseFolderAddEditComponent,\r\n} from 'jslib/angular/components/folder-add-edit.component';\r\n\r\n@Component({\r\n selector: 'app-folder-add-edit',\r\n templateUrl: 'folder-add-edit.component.html',\r\n})\r\nexport class FolderAddEditComponent extends BaseFolderAddEditComponent {\r\n constructor(folderService: FolderService, i18nService: I18nService,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(folderService, i18nService, analytics, toasterService, platformUtilsService);\r\n }\r\n}\r\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-vault-bulk-share',\n templateUrl: 'bulk-share.component.html',\n})\nexport class BulkShareComponent implements OnInit {\n @Input() ciphers: CipherView[] = [];\n @Input() organizationId: string;\n @Output() onShared = new EventEmitter();\n\n nonShareableCount = 0;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n shareableCiphers: CipherView[] = [];\n formPromise: Promise;\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private collectionService: CollectionService, private userService: UserService) { }\n\n async ngOnInit() {\n this.shareableCiphers = this.ciphers.filter((c) => !c.hasAttachments && c.organizationId == null);\n this.nonShareableCount = this.ciphers.length - this.shareableCiphers.length;\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n this.formPromise = this.cipherService.shareManyWithServer(this.shareableCiphers, this.organizationId,\n checkedCollectionIds);\n await this.formPromise;\n this.onShared.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Shared Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItems'));\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { FolderView } from 'jslib/models/view/folderView';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-move',\r\n templateUrl: 'bulk-move.component.html',\r\n})\r\nexport class BulkMoveComponent implements OnInit {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onMoved = new EventEmitter();\r\n\r\n folderId: string = null;\r\n folders: FolderView[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private folderService: FolderService) { }\r\n\r\n async ngOnInit() {\r\n this.folders = await this.folderService.getAllDecrypted();\r\n this.folderId = this.folders[0].id;\r\n }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.moveManyWithServer(this.cipherIds, this.folderId);\r\n await this.formPromise;\r\n this.onMoved.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Moved Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('movedItems'));\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-delete',\r\n templateUrl: 'bulk-delete.component.html',\r\n})\r\nexport class BulkDeleteComponent {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onDeleted = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService) { }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.deleteManyWithServer(this.cipherIds);\r\n await this.formPromise;\r\n this.onDeleted.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Deleted Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItems'));\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherWithIdRequest extends CipherRequest {\n id: string;\n\n constructor(cipher: Cipher) {\n super(cipher);\n this.id = cipher.id;\n }\n}\n","import { Component } from '@angular/core';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-update-key',\n templateUrl: 'update-key.component.html',\n})\nexport class UpdateKeyComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private syncService: SyncService, private folderService: FolderService,\n private cipherService: CipherService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (hasEncKey) {\n return;\n }\n\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.makeRequest().then((request) => {\n return this.apiService.postAccountKey(request);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Key Updated' });\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('keyUpdated'),\n body: this.i18nService.t('logBackInOthersToo'),\n timeout: 15000,\n };\n this.toasterService.popAsync(toast);\n this.messagingService.send('logout');\n } catch { }\n }\n\n private async makeRequest(): Promise {\n const key = await this.cryptoService.getKey();\n const encKey = await this.cryptoService.makeEncKey(key);\n const privateKey = await this.cryptoService.getPrivateKey();\n let encPrivateKey: CipherString = null;\n if (privateKey != null) {\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\n }\n const request = new UpdateKeyRequest();\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n\n await this.syncService.fullSync(true);\n\n const folders = await this.folderService.getAllDecrypted();\n for (let i = 0; i < folders.length; i++) {\n if (folders[i].id == null) {\n continue;\n }\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\n request.folders.push(new FolderWithIdRequest(folder));\n }\n\n const ciphers = await this.cipherService.getAllDecrypted();\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId != null) {\n continue;\n }\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n return request;\n }\n}\n","\r\n

\r\n \r\n

\r\n \r\n \r\n

{{'noOrganizationsList' | i18n}}

\r\n
\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n\r\n
\r\n

\r\n {{'organizations' | i18n}}\r\n \r\n \r\n \r\n

\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n \r\n \r\n \r\n

{{'noOrganizationsList' | i18n}}

\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{o.name}}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { DeviceType } from '../../enums';\n\n@Pipe({\n name: 'searchCiphers',\n})\nexport class SearchCiphersPipe implements PipeTransform {\n private onlySearchName = false;\n\n constructor(platformUtilsService: PlatformUtilsService) {\n this.onlySearchName = platformUtilsService.getDevice() === DeviceType.EdgeExtension;\n }\n\n transform(ciphers: CipherView[], searchText: string): CipherView[] {\n if (ciphers == null || ciphers.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return ciphers;\n }\n\n searchText = searchText.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (c.name != null && c.name.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (this.onlySearchName) {\n return false;\n }\n if (searchText.length >= 8 && c.id.startsWith(searchText)) {\n return true;\n }\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n\n return false;\n });\n }\n}\n","
\r\n \"\"\r\n \r\n
\r\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-verify-email',\n templateUrl: 'verify-email.component.html',\n})\nexport class VerifyEmailComponent {\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async send() {\n if (this.actionPromise != null) {\n return;\n }\n try {\n this.actionPromise = this.apiService.postAccountVerifyEmail();\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Sent Verification Email' });\n this.toasterService.popAsync('success', null, this.i18nService.t('checkInboxForVerification'));\n } catch { }\n this.actionPromise = null;\n }\n}\n","
\n
\n
\n © {{year}}, 8bit Solutions LLC\n
\n
\n
\n {{'versionNumber' | i18n : version}}\n
\n
\n
\n","\r\n","export class KeysRequest {\n publicKey: string;\n encryptedPrivateKey: string;\n\n constructor(publicKey: string, encryptedPrivateKey: string) {\n this.publicKey = publicKey;\n this.encryptedPrivateKey = encryptedPrivateKey;\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorEmailRequest extends PasswordVerificationRequest {\n email: string;\n\n constructor(email: string, masterPasswordHash: string) {\n super();\n this.masterPasswordHash = masterPasswordHash;\n this.email = email;\n }\n}\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent,\r\n} from 'jslib/angular/components/two-factor-options.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-options',\r\n templateUrl: 'two-factor-options.component.html',\r\n})\r\nexport class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {\r\n constructor(authService: AuthService, router: Router,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService) {\r\n super(authService, router, analytics, toasterService, i18nService, platformUtilsService, window);\r\n }\r\n}\r\n","import * as jq from 'jquery';\nimport * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport {\n ToasterConfig,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {\n NavigationEnd,\n Router,\n} from '@angular/router';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { LockService } from 'jslib/abstractions/lock.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SettingsService } from 'jslib/abstractions/settings.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { RouterService } from './services/router.service';\n\nconst BroadcasterSubscriptionId = 'AppComponent';\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n})\nexport class AppComponent implements OnDestroy, OnInit {\n toasterConfig: ToasterConfig = new ToasterConfig({\n showCloseButton: true,\n mouseoverTimerStop: true,\n animation: 'flyRight',\n limit: 5,\n });\n\n private lastActivity: number = null;\n\n constructor(private angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics,\n private broadcasterService: BroadcasterService, private userService: UserService,\n private tokenService: TokenService, private folderService: FolderService,\n private settingsService: SettingsService, private syncService: SyncService,\n private passwordGenerationService: PasswordGenerationService, private cipherService: CipherService,\n private authService: AuthService, private router: Router, private analytics: Angulartics2,\n private toasterService: ToasterService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private ngZone: NgZone,\n private lockService: LockService, private storageService: StorageService,\n private cryptoService: CryptoService, private collectionService: CollectionService,\n private routerService: RouterService) { }\n\n ngOnInit() {\n this.ngZone.runOutsideAngular(() => {\n window.onmousemove = () => this.recordActivity();\n window.onmousedown = () => this.recordActivity();\n window.ontouchstart = () => this.recordActivity();\n window.onclick = () => this.recordActivity();\n window.onscroll = () => this.recordActivity();\n window.onkeypress = () => this.recordActivity();\n });\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'loggedIn':\n case 'unlocked':\n case 'loggedOut':\n break;\n case 'logout':\n this.logOut(!!message.expired);\n break;\n case 'lockVault':\n await this.lockService.lock();\n break;\n case 'locked':\n this.router.navigate(['lock']);\n break;\n case 'syncStarted':\n break;\n case 'syncCompleted':\n break;\n case 'upgradeOrganization':\n const upgradeConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('upgradeOrganizationDesc'), this.i18nService.t('upgradeOrganization'),\n this.i18nService.t('upgradeOrganization'), this.i18nService.t('cancel'));\n if (upgradeConfirmed) {\n this.router.navigate(['organizations', message.organizationId, 'settings', 'billing']);\n }\n break;\n case 'premiumRequired':\n const premiumConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (premiumConfirmed) {\n this.router.navigate(['settings/premium']);\n }\n break;\n default:\n break;\n }\n });\n });\n\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n const modals = Array.from(document.querySelectorAll('.modal'));\n for (const modal of modals) {\n (jq(modal) as any).modal('hide');\n }\n\n if (document.querySelector('.swal-modal') != null) {\n swal.close(undefined);\n }\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n private async logOut(expired: boolean) {\n const userId = await this.userService.getUserId();\n\n await Promise.all([\n this.syncService.setLastSync(new Date(0)),\n this.tokenService.clearToken(),\n this.cryptoService.clearKeys(),\n this.userService.clear(),\n this.settingsService.clear(userId),\n this.cipherService.clear(userId),\n this.folderService.clear(userId),\n this.collectionService.clear(userId),\n this.passwordGenerationService.clear(),\n ]);\n\n this.authService.logOut(async () => {\n this.analytics.eventTrack.next({ action: 'Logged Out' });\n if (expired) {\n this.toasterService.popAsync('warning', this.i18nService.t('loggedOut'),\n this.i18nService.t('loginExpired'));\n }\n this.router.navigate(['/']);\n });\n }\n\n private async recordActivity() {\n const now = (new Date()).getTime();\n if (this.lastActivity != null && now - this.lastActivity < 250) {\n return;\n }\n\n this.lastActivity = now;\n this.storageService.save(ConstantsService.lastActiveKey, now);\n }\n}\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 589;","import { NgModule } from '@angular/core';\nimport {\n RouterModule,\n Routes,\n} from '@angular/router';\n\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { SettingsComponent as OrgSettingsComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\n\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ImportComponent } from './tools/import.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ToolsComponent } from './tools/tools.component';\n\nimport { VaultComponent } from './vault/vault.component';\n\nimport { OrganizationGuardService } from './services/organization-guard.service';\nimport { OrganizationTypeGuardService } from './services/organization-type-guard.service';\nimport { UnauthGuardService } from './services/unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\n\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nconst routes: Routes = [\n {\n path: '',\n component: FrontendLayoutComponent,\n children: [\n { path: '', pathMatch: 'full', component: LoginComponent, canActivate: [UnauthGuardService] },\n { path: '2fa', component: TwoFactorComponent, canActivate: [UnauthGuardService] },\n {\n path: 'register', component: RegisterComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'createAccount' },\n },\n {\n path: 'hint', component: HintComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'passwordHint' },\n },\n { path: 'lock', component: LockComponent },\n { path: 'verify-email', component: VerifyEmailTokenComponent },\n {\n path: 'accept-organization',\n component: AcceptOrganizationComponent,\n data: { titleId: 'joinOrganization' },\n },\n { path: 'recover', pathMatch: 'full', redirectTo: 'recover-2fa' },\n {\n path: 'recover-2fa',\n component: RecoverTwoFactorComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'recoverAccountTwoStep' },\n },\n {\n path: 'recover-delete',\n component: RecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n {\n path: 'verify-recover-delete',\n component: VerifyRecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n ],\n },\n {\n path: '',\n component: UserLayoutComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: 'vault', component: VaultComponent, data: { titleId: 'myVault' } },\n {\n path: 'settings',\n component: SettingsComponent,\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: AccountComponent, data: { titleId: 'myAccount' } },\n { path: 'options', component: OptionsComponent, data: { titleId: 'options' } },\n { path: 'domain-rules', component: DomainRulesComponent, data: { titleId: 'domainRules' } },\n { path: 'two-factor', component: TwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n { path: 'premium', component: PremiumComponent, data: { titleId: 'goPremium' } },\n { path: 'billing', component: UserBillingComponent, data: { titleId: 'billingAndLicensing' } },\n { path: 'organizations', component: OrganizationsComponent, data: { titleId: 'organizations' } },\n {\n path: 'create-organization',\n component: CreateOrganizationComponent,\n data: { titleId: 'newOrganization' },\n },\n ],\n },\n {\n path: 'tools',\n component: ToolsComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'generator' },\n { path: 'import', component: ImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: ExportComponent, data: { titleId: 'exportVault' } },\n {\n path: 'generator',\n component: PasswordGeneratorComponent,\n data: { titleId: 'passwordGenerator' },\n },\n { path: 'breach-report', component: BreachReportComponent, data: { titleId: 'dataBreachReport' } },\n ],\n },\n ],\n },\n {\n path: 'organizations/:organizationId',\n component: OrganizationLayoutComponent,\n canActivate: [AuthGuardService, OrganizationGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'vault' },\n { path: 'vault', component: OrgVaultComponent, data: { titleId: 'vault' } },\n {\n path: 'tools',\n component: OrgToolsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'import' },\n { path: 'import', component: OrgImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: OrgExportComponent, data: { titleId: 'exportVault' } },\n ],\n },\n {\n path: 'manage',\n component: OrgManageComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'people' },\n { path: 'collections', component: OrgManageCollectionsComponent, data: { titleId: 'collections' } },\n { path: 'events', component: OrgEventsComponent, data: { titleId: 'eventLogs' } },\n { path: 'groups', component: OrgGroupsComponent, data: { titleId: 'groups' } },\n { path: 'people', component: OrgPeopleComponent, data: { titleId: 'people' } },\n ],\n },\n {\n path: 'settings',\n component: OrgSettingsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: OrgAccountComponent, data: { titleId: 'myOrganization' } },\n { path: 'two-factor', component: OrgTwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n {\n path: 'billing',\n component: OrganizationBillingComponent,\n data: { titleId: 'billingAndLicensing' },\n },\n ],\n },\n ],\n },\n { path: '**', redirectTo: '' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n useHash: true,\n /*enableTracing: true,*/\n })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","export class DecryptParameters {\n encKey: T;\n data: T;\n iv: T;\n macKey: T;\n mac: T;\n macData: T;\n}\n","import * as forge from 'node-forge';\n\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nimport { Utils } from '../misc/utils';\n\nimport { SymmetricCryptoKey } from '../models/domain';\nimport { DecryptParameters } from '../models/domain/decryptParameters';\n\nexport class WebCryptoFunctionService implements CryptoFunctionService {\n private crypto: Crypto;\n private subtle: SubtleCrypto;\n private isEdge: boolean;\n private isIE: boolean;\n\n constructor(private win: Window, private platformUtilsService: PlatformUtilsService) {\n this.crypto = typeof win.crypto !== 'undefined' ? win.crypto : null;\n this.subtle = (!!this.crypto && typeof win.crypto.subtle !== 'undefined') ? win.crypto.subtle : null;\n this.isEdge = platformUtilsService.isEdge();\n this.isIE = platformUtilsService.isIE();\n }\n\n async pbkdf2(password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number): Promise {\n if (this.isEdge || this.isIE) {\n const forgeLen = algorithm === 'sha256' ? 32 : 64;\n const passwordBytes = this.toByteString(password);\n const saltBytes = this.toByteString(salt);\n const derivedKeyBytes = (forge as any).pbkdf2(passwordBytes, saltBytes, iterations, forgeLen, algorithm);\n return Utils.fromByteStringToArray(derivedKeyBytes).buffer;\n }\n\n const wcLen = algorithm === 'sha256' ? 256 : 512;\n const passwordBuf = this.toBuf(password);\n const saltBuf = this.toBuf(salt);\n\n const pbkdf2Params: Pbkdf2Params = {\n name: 'PBKDF2',\n salt: saltBuf,\n iterations: iterations,\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', passwordBuf, { name: 'PBKDF2' } as any,\n false, ['deriveBits']);\n return await this.subtle.deriveBits(pbkdf2Params, impKey, wcLen);\n }\n\n async hash(value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n if ((this.isEdge || this.isIE) && algorithm === 'sha1') {\n const md = forge.md.sha1.create();\n const valueBytes = this.toByteString(value);\n md.update(valueBytes, 'raw');\n return Utils.fromByteStringToArray(md.digest().data).buffer;\n }\n\n const valueBuf = this.toBuf(value);\n return await this.subtle.digest({ name: this.toWebCryptoAlgorithm(algorithm) }, valueBuf);\n }\n\n async hmac(value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', key, signingAlgorithm, false, ['sign']);\n return await this.subtle.sign(signingAlgorithm, impKey, value);\n }\n\n // Safely compare two values in a way that protects against timing attacks (Double HMAC Verification).\n // ref: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/february/double-hmac-verification/\n // ref: https://paragonie.com/blog/2015/11/preventing-timing-attacks-on-string-comparison-with-double-hmac-strategy\n async compare(a: ArrayBuffer, b: ArrayBuffer): Promise {\n const macKey = await this.randomBytes(32);\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: 'SHA-256' },\n };\n const impKey = await this.subtle.importKey('raw', macKey, signingAlgorithm, false, ['sign']);\n const mac1 = await this.subtle.sign(signingAlgorithm, impKey, a);\n const mac2 = await this.subtle.sign(signingAlgorithm, impKey, b);\n\n if (mac1.byteLength !== mac2.byteLength) {\n return false;\n }\n\n const arr1 = new Uint8Array(mac1);\n const arr2 = new Uint8Array(mac2);\n for (let i = 0; i < arr2.length; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n hmacFast(value: string, key: string, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n const hmac = (forge as any).hmac.create();\n hmac.start(algorithm, key);\n hmac.update(value);\n const bytes = hmac.digest().getBytes();\n return Promise.resolve(bytes);\n }\n\n async compareFast(a: string, b: string): Promise {\n const rand = await this.randomBytes(32);\n const bytes = new Uint32Array(rand);\n const buffer = forge.util.createBuffer();\n for (let i = 0; i < bytes.length; i++) {\n buffer.putInt32(bytes[i]);\n }\n const macKey = buffer.getBytes();\n\n const hmac = (forge as any).hmac.create();\n hmac.start('sha256', macKey);\n hmac.update(a);\n const mac1 = hmac.digest().getBytes();\n\n hmac.start(null, null);\n hmac.update(b);\n const mac2 = hmac.digest().getBytes();\n\n const equals = mac1 === mac2;\n return equals;\n }\n\n async aesEncrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['encrypt']);\n return await this.subtle.encrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n aesDecryptFastParameters(data: string, iv: string, mac: string, key: SymmetricCryptoKey):\n DecryptParameters {\n const p = new DecryptParameters();\n if (key.meta != null) {\n p.encKey = key.meta.encKeyByteString;\n p.macKey = key.meta.macKeyByteString;\n }\n\n if (p.encKey == null) {\n p.encKey = forge.util.decode64(key.encKeyB64);\n }\n p.data = forge.util.decode64(data);\n p.iv = forge.util.decode64(iv);\n p.macData = p.iv + p.data;\n if (p.macKey == null && key.macKeyB64 != null) {\n p.macKey = forge.util.decode64(key.macKeyB64);\n }\n if (mac != null) {\n p.mac = forge.util.decode64(mac);\n }\n\n // cache byte string keys for later\n if (key.meta == null) {\n key.meta = {};\n }\n if (key.meta.encKeyByteString == null) {\n key.meta.encKeyByteString = p.encKey;\n }\n if (p.macKey != null && key.meta.macKeyByteString == null) {\n key.meta.macKeyByteString = p.macKey;\n }\n\n return p;\n }\n\n aesDecryptFast(parameters: DecryptParameters): Promise {\n const dataBuffer = (forge as any).util.createBuffer(parameters.data);\n const decipher = (forge as any).cipher.createDecipher('AES-CBC', parameters.encKey);\n decipher.start({ iv: parameters.iv });\n decipher.update(dataBuffer);\n decipher.finish();\n const val = decipher.output.toString('utf8');\n return Promise.resolve(val);\n }\n\n async aesDecrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['decrypt']);\n return await this.subtle.decrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('spki', publicKey, rsaParams, false, ['encrypt']);\n return await this.subtle.encrypt(rsaParams, impKey, data);\n }\n\n async rsaDecrypt(data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, false, ['decrypt']);\n return await this.subtle.decrypt(rsaParams, impKey, data);\n }\n\n async rsaExtractPublicKey(privateKey: ArrayBuffer): Promise {\n const rsaParams = {\n name: 'RSA-OAEP',\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const impPrivateKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, true, ['decrypt']);\n const jwkPrivateKey = await this.subtle.exportKey('jwk', impPrivateKey);\n const jwkPublicKeyParams = {\n kty: 'RSA',\n e: jwkPrivateKey.e,\n n: jwkPrivateKey.n,\n alg: 'RSA-OAEP',\n ext: true,\n };\n const impPublicKey = await this.subtle.importKey('jwk', jwkPublicKeyParams, rsaParams, true, ['encrypt']);\n return await this.subtle.exportKey('spki', impPublicKey);\n }\n\n async rsaGenerateKeyPair(length: 1024 | 2048 | 4096): Promise<[ArrayBuffer, ArrayBuffer]> {\n const rsaParams = {\n name: 'RSA-OAEP',\n modulusLength: length,\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]), // 65537\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const keyPair = await this.subtle.generateKey(rsaParams, true, ['encrypt', 'decrypt']);\n const publicKey = await this.subtle.exportKey('spki', keyPair.publicKey);\n const privateKey = await this.subtle.exportKey('pkcs8', keyPair.privateKey);\n return [publicKey, privateKey];\n }\n\n randomBytes(length: number): Promise {\n const arr = new Uint8Array(length);\n this.crypto.getRandomValues(arr);\n return Promise.resolve(arr.buffer);\n }\n\n private toBuf(value: string | ArrayBuffer): ArrayBuffer {\n let buf: ArrayBuffer;\n if (typeof (value) === 'string') {\n buf = Utils.fromUtf8ToArray(value).buffer;\n } else {\n buf = value;\n }\n return buf;\n }\n\n private toByteString(value: string | ArrayBuffer): string {\n let bytes: string;\n if (typeof (value) === 'string') {\n bytes = forge.util.encodeUtf8(value);\n } else {\n bytes = Utils.fromBufferToByteString(value);\n }\n return bytes;\n }\n\n private toWebCryptoAlgorithm(algorithm: 'sha1' | 'sha256' | 'sha512'): string {\n return algorithm === 'sha1' ? 'SHA-1' : algorithm === 'sha256' ? 'SHA-256' : 'SHA-512';\n }\n}\n","import * as papa from 'papaparse';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { ExportService as ExportServiceAbstraction } from '../abstractions/export.service';\nimport { FolderService } from '../abstractions/folder.service';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Collection } from '../models/domain/collection';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\n\nexport class ExportService implements ExportServiceAbstraction {\n constructor(private folderService: FolderService, private cipherService: CipherService,\n private apiService: ApiService) { }\n\n async getExport(format: 'csv' | 'json' = 'csv'): Promise {\n let decFolders: FolderView[] = [];\n let decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.folderService.getAllDecrypted().then((folders) => {\n decFolders = folders;\n }));\n\n promises.push(this.cipherService.getAllDecrypted().then((ciphers) => {\n decCiphers = ciphers;\n }));\n\n await Promise.all(promises);\n\n const foldersMap = new Map();\n decFolders.forEach((f) => {\n foldersMap.set(f.id, f);\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n\n if (c.organizationId != null) {\n return;\n }\n\n const cipher: any = {};\n cipher.folder = c.folderId != null && foldersMap.has(c.folderId) ? foldersMap.get(c.folderId).name : null;\n cipher.favorite = c.favorite ? 1 : null;\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n if (format === 'csv') {\n return papa.unparse(exportCiphers);\n } else {\n return JSON.stringify(exportCiphers, null, ' ');\n }\n }\n\n async getOrganizationExport(organizationId: string, format: 'csv' | 'json' = 'csv'): Promise {\n const decCollections: CollectionView[] = [];\n const decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.apiService.getCollections(organizationId).then((collections) => {\n const collectionPromises: any = [];\n if (collections != null && collections.data != null && collections.data.length > 0) {\n collections.data.forEach((c) => {\n const collection = new Collection(new CollectionData(c as CollectionDetailsResponse));\n collectionPromises.push(collection.decrypt().then((decCol) => {\n decCollections.push(decCol);\n }));\n });\n }\n return Promise.all(collectionPromises);\n }));\n\n promises.push(this.apiService.getCiphersOrganization(organizationId).then((ciphers) => {\n const cipherPromises: any = [];\n if (ciphers != null && ciphers.data != null && ciphers.data.length > 0) {\n ciphers.data.forEach((c) => {\n const cipher = new Cipher(new CipherData(c));\n cipherPromises.push(cipher.decrypt().then((decCipher) => {\n decCiphers.push(decCipher);\n }));\n });\n }\n return Promise.all(cipherPromises);\n }));\n\n await Promise.all(promises);\n\n const collectionsMap = new Map();\n decCollections.forEach((c) => {\n collectionsMap.set(c.id, c);\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n\n const cipher: any = {};\n cipher.collections = [];\n if (c.collectionIds != null) {\n cipher.collections = c.collectionIds.filter((id) => collectionsMap.has(id))\n .map((id) => collectionsMap.get(id).name);\n }\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n if (format === 'csv') {\n return papa.unparse(exportCiphers);\n } else {\n return JSON.stringify(exportCiphers, null, ' ');\n }\n }\n\n getFileName(prefix: string = null): string {\n const now = new Date();\n const dateString =\n now.getFullYear() + '' + this.padNumber(now.getMonth() + 1, 2) + '' + this.padNumber(now.getDate(), 2) +\n this.padNumber(now.getHours(), 2) + '' + this.padNumber(now.getMinutes(), 2) +\n this.padNumber(now.getSeconds(), 2);\n\n return 'bitwarden' + (prefix ? ('_' + prefix) : '') + '_export_' + dateString + '.csv';\n }\n\n private padNumber(num: number, width: number, padCharacter: string = '0'): string {\n const numString = num.toString();\n return numString.length >= width ? numString :\n new Array(width - numString.length + 1).join(padCharacter) + numString;\n }\n\n private buildCommonCipher(cipher: any, c: CipherView) {\n cipher.type = null;\n cipher.name = c.name;\n cipher.notes = c.notes;\n cipher.fields = null;\n // Login props\n cipher.login_uri = null;\n cipher.login_username = null;\n cipher.login_password = null;\n cipher.login_totp = null;\n\n if (c.fields) {\n c.fields.forEach((f: any) => {\n if (!cipher.fields) {\n cipher.fields = '';\n } else {\n cipher.fields += '\\n';\n }\n\n cipher.fields += ((f.name || '') + ': ' + f.value);\n });\n }\n\n switch (c.type) {\n case CipherType.Login:\n cipher.type = 'login';\n cipher.login_username = c.login.username;\n cipher.login_password = c.login.password;\n cipher.login_totp = c.login.totp;\n\n if (c.login.uris) {\n cipher.login_uri = [];\n c.login.uris.forEach((u) => {\n cipher.login_uri.push(u.uri);\n });\n }\n break;\n case CipherType.SecureNote:\n cipher.type = 'note';\n break;\n default:\n return;\n }\n\n return cipher;\n }\n}\n","import { AppIdService } from '../abstractions/appId.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from '../services/constants.service';\n\nimport { DeviceType } from '../enums/deviceType';\n\nconst GaObj = 'ga';\n\nexport const AnalyticsIds = {\n [DeviceType.ChromeExtension]: 'UA-81915606-6',\n [DeviceType.FirefoxExtension]: 'UA-81915606-7',\n [DeviceType.OperaExtension]: 'UA-81915606-8',\n [DeviceType.EdgeExtension]: 'UA-81915606-9',\n [DeviceType.VivaldiExtension]: 'UA-81915606-15',\n [DeviceType.SafariExtension]: 'UA-81915606-16',\n [DeviceType.WindowsDesktop]: 'UA-81915606-17',\n [DeviceType.LinuxDesktop]: 'UA-81915606-19',\n [DeviceType.MacOsDesktop]: 'UA-81915606-18',\n};\n\nexport class Analytics {\n private gaTrackingId: string = null;\n private defaultDisabled = false;\n private appVersion: string;\n\n constructor(win: Window, private gaFilter?: () => boolean,\n private platformUtilsService?: PlatformUtilsService, private storageService?: StorageService,\n private appIdService?: AppIdService, private dependencyResolver?: () => any) {\n if (dependencyResolver != null) {\n const deps = dependencyResolver();\n if (platformUtilsService == null && deps.platformUtilsService) {\n this.platformUtilsService = deps.platformUtilsService as PlatformUtilsService;\n }\n if (storageService == null && deps.storageService) {\n this.storageService = deps.storageService as StorageService;\n }\n if (appIdService == null && deps.appIdService) {\n this.appIdService = deps.appIdService as AppIdService;\n }\n }\n\n this.appVersion = this.platformUtilsService.getApplicationVersion();\n this.defaultDisabled = this.platformUtilsService.isFirefox() || this.platformUtilsService.isMacAppStore();\n this.gaTrackingId = this.platformUtilsService.analyticsId();\n\n (win as any).GoogleAnalyticsObject = GaObj;\n (win as any)[GaObj] = async (action: string, param1: any, param2?: any) => {\n await this.ga(action, param1, param2);\n };\n }\n\n async ga(action: string, param1: any, param2?: any) {\n if (this.gaFilter != null && this.gaFilter()) {\n return;\n }\n\n const disabled = await this.storageService.get(ConstantsService.disableGaKey);\n if ((this.defaultDisabled && disabled == null) || disabled != null && disabled) {\n return;\n }\n\n if (action !== 'send' || !param1) {\n return;\n }\n\n const gaAnonAppId = await this.appIdService.getAnonymousAppId();\n const version = encodeURIComponent(this.appVersion);\n let message = 'v=1&tid=' + this.gaTrackingId + '&cid=' + gaAnonAppId + '&cd1=' + version;\n\n if (param1 === 'pageview' && param2) {\n message += this.gaTrackPageView(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'pageview') {\n message += this.gaTrackPageView(param1.page);\n } else if (param1 === 'event' && param2) {\n message += this.gaTrackEvent(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'event') {\n message += this.gaTrackEvent(param1);\n }\n\n const request = new XMLHttpRequest();\n request.open('POST', 'https://www.google-analytics.com/collect', true);\n request.send(message);\n }\n\n private gaTrackEvent(options: any) {\n return '&t=event&ec=' + (options.eventCategory ? encodeURIComponent(options.eventCategory) : 'Event') +\n '&ea=' + encodeURIComponent(options.eventAction) +\n (options.eventLabel ? '&el=' + encodeURIComponent(options.eventLabel) : '') +\n (options.eventValue ? '&ev=' + encodeURIComponent(options.eventValue) : '') +\n (options.page ? '&dp=' + this.cleanPagePath(options.page) : '');\n }\n\n private gaTrackPageView(pagePath: string) {\n return '&t=pageview&dp=' + this.cleanPagePath(pagePath);\n }\n\n private cleanPagePath(pagePath: string) {\n const paramIndex = pagePath.indexOf('?');\n if (paramIndex > -1) {\n pagePath = pagePath.substring(0, paramIndex);\n }\n if (pagePath.indexOf('!/') === 0 || pagePath.indexOf('#/') === 0) {\n pagePath = pagePath.substring(1);\n }\n const pathParts = pagePath.split('/');\n const newPathParts: string[] = [];\n pathParts.forEach((p) => {\n if (p.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)) {\n newPathParts.push('__guid__');\n } else {\n newPathParts.push(p);\n }\n });\n return encodeURIComponent(newPathParts.join('/'));\n }\n}\n","import * as _swal from 'sweetalert';\nimport { SweetAlert } from 'sweetalert/typings/core';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n// Hack due to Angular 5.2 bug\nconst swal: SweetAlert = _swal as any;\n\nexport class WebPlatformUtilsService implements PlatformUtilsService {\n identityClientId: string = 'web';\n\n private browserCache: DeviceType = null;\n\n constructor(private i18nService: I18nService) { }\n\n getDevice(): DeviceType {\n if (this.browserCache != null) {\n return this.browserCache;\n }\n\n if (navigator.userAgent.indexOf(' Firefox/') !== -1 || navigator.userAgent.indexOf(' Gecko/') !== -1) {\n this.browserCache = DeviceType.FirefoxBrowser;\n } else if (navigator.userAgent.indexOf(' OPR/') >= 0) {\n this.browserCache = DeviceType.OperaBrowser;\n } else if (navigator.userAgent.indexOf(' Edge/') !== -1) {\n this.browserCache = DeviceType.EdgeBrowser;\n } else if (navigator.userAgent.indexOf(' Vivaldi/') !== -1) {\n this.browserCache = DeviceType.VivaldiBrowser;\n } else if (navigator.userAgent.indexOf(' Safari/') !== -1 && navigator.userAgent.indexOf('Chrome') === -1) {\n this.browserCache = DeviceType.SafariBrowser;\n } else if ((window as any).chrome && navigator.userAgent.indexOf(' Chrome/') !== -1) {\n this.browserCache = DeviceType.ChromeBrowser;\n } else if (navigator.userAgent.indexOf(' Trident/') !== -1) {\n this.browserCache = DeviceType.IEBrowser;\n } else {\n this.browserCache = DeviceType.UnknownBrowser;\n }\n\n return this.browserCache;\n }\n\n getDeviceString(): string {\n const device = DeviceType[this.getDevice()].toLowerCase();\n return device.replace('browser', '');\n }\n\n isFirefox(): boolean {\n return this.getDevice() === DeviceType.FirefoxBrowser;\n }\n\n isChrome(): boolean {\n return this.getDevice() === DeviceType.ChromeBrowser;\n }\n\n isEdge(): boolean {\n return this.getDevice() === DeviceType.EdgeBrowser;\n }\n\n isOpera(): boolean {\n return this.getDevice() === DeviceType.OperaBrowser;\n }\n\n isVivaldi(): boolean {\n return this.getDevice() === DeviceType.VivaldiBrowser;\n }\n\n isSafari(): boolean {\n return this.getDevice() === DeviceType.SafariBrowser;\n }\n\n isIE(): boolean {\n return this.getDevice() === DeviceType.IEBrowser;\n }\n\n isMacAppStore(): boolean {\n return false;\n }\n\n analyticsId(): string {\n return 'UA-81915606-3';\n }\n\n getDomain(uriString: string): string {\n return Utils.getHostname(uriString);\n }\n\n isViewOpen(): boolean {\n return false;\n }\n\n lockTimeout(): number {\n return 15;\n }\n\n launchUri(uri: string, options?: any): void {\n const a = document.createElement('a');\n a.href = uri;\n a.target = '_blank';\n a.rel = 'noreferrer noopener';\n a.click();\n }\n\n saveFile(win: Window, blobData: any, blobOptions: any, fileName: string): void {\n let blob: Blob = null;\n if (blobOptions != null && !this.isIE()) {\n blob = new Blob([blobData], blobOptions);\n } else {\n blob = new Blob([blobData]);\n }\n if (navigator.msSaveOrOpenBlob) {\n navigator.msSaveBlob(blob, fileName);\n } else {\n const a = win.document.createElement('a');\n a.href = win.URL.createObjectURL(blob);\n a.download = fileName;\n a.style.position = 'fixed';\n win.document.body.appendChild(a);\n a.click();\n win.document.body.removeChild(a);\n }\n }\n\n getApplicationVersion(): string {\n return process.env.APPLICATION_VERSION || '-';\n }\n\n supportsU2f(win: Window): boolean {\n if (win != null && (win as any).u2f != null) {\n return true;\n }\n return (this.isChrome() || this.isOpera()) && !this.isMobile(win);\n }\n\n supportsDuo(): boolean {\n return true;\n }\n\n showToast(type: 'error' | 'success' | 'warning' | 'info', title: string, text: string, global?: any): void {\n throw new Error('showToast not implemented');\n }\n\n async showDialog(text: string, title?: string, confirmText?: string, cancelText?: string, type?: string) {\n const buttons = [confirmText == null ? this.i18nService.t('ok') : confirmText];\n if (cancelText != null) {\n buttons.unshift(cancelText);\n }\n\n const contentDiv = document.createElement('div');\n if (type != null) {\n const icon = document.createElement('i');\n icon.classList.add('swal-custom-icon');\n switch (type) {\n case 'success':\n icon.classList.add('fa', 'fa-check', 'text-success');\n break;\n case 'warning':\n icon.classList.add('fa', 'fa-warning', 'text-warning');\n break;\n case 'error':\n icon.classList.add('fa', 'fa-bolt', 'text-danger');\n break;\n case 'info':\n icon.classList.add('fa', 'fa-info-circle', 'text-info');\n break;\n default:\n break;\n }\n if (icon.classList.contains('fa')) {\n contentDiv.appendChild(icon);\n }\n }\n\n if (title != null) {\n const titleDiv = document.createElement('div');\n titleDiv.classList.add('swal-title');\n titleDiv.appendChild(document.createTextNode(title));\n contentDiv.appendChild(titleDiv);\n }\n\n if (text != null) {\n const textDiv = document.createElement('div');\n textDiv.classList.add('swal-text');\n textDiv.appendChild(document.createTextNode(text));\n contentDiv.appendChild(textDiv);\n }\n\n const confirmed = await swal({\n content: { element: contentDiv },\n buttons: buttons,\n });\n return confirmed;\n }\n\n isDev(): boolean {\n return process.env.ENV === 'development';\n }\n\n isSelfHost(): boolean {\n return process.env.SELF_HOST.toString() === 'true';\n }\n\n copyToClipboard(text: string, options?: any): void {\n const doc = options ? options.doc : window.document;\n if ((window as any).clipboardData && (window as any).clipboardData.setData) {\n // IE specific code path to prevent textarea being shown while dialog is visible.\n (window as any).clipboardData.setData('Text', text);\n } else if (doc.queryCommandSupported && doc.queryCommandSupported('copy')) {\n const textarea = doc.createElement('textarea');\n textarea.textContent = text;\n // Prevent scrolling to bottom of page in MS Edge.\n textarea.style.position = 'fixed';\n doc.body.appendChild(textarea);\n textarea.select();\n\n try {\n // Security exception may be thrown by some browsers.\n doc.execCommand('copy');\n } catch (e) {\n // tslint:disable-next-line\n console.warn('Copy to clipboard failed.', e);\n } finally {\n doc.body.removeChild(textarea);\n }\n }\n }\n\n private isMobile(win: Window) {\n let mobile = false;\n ((a) => {\n // tslint:disable-next-line\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\n mobile = true;\n }\n })(win.navigator.userAgent || win.navigator.vendor || (win as any).opera);\n\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\n }\n}\n","import { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nexport class MemoryStorageService implements StorageService {\r\n private store = new Map();\r\n\r\n get(key: string): Promise {\r\n if (this.store.has(key)) {\r\n const obj = this.store.get(key);\r\n return Promise.resolve(obj as T);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n if (obj == null) {\r\n return this.remove(key);\r\n }\r\n this.store.set(key, obj);\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n this.store.delete(key);\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { I18nService as BaseI18nService } from 'jslib/services/i18n.service';\n\nexport class I18nService extends BaseI18nService {\n constructor(systemLanguage: string, localesDirectory: string) {\n super(systemLanguage || 'en-US', localesDirectory, async (formattedLocale: string) => {\n const filePath = this.localesDirectory + '/' + formattedLocale + '/messages.json?cache=' +\n process.env.CACHE_TAG;\n const localesResult = await fetch(filePath);\n const locales = await localesResult.json();\n return locales;\n });\n\n this.supportedTranslationLocales = [\n 'en', 'da',\n ];\n }\n}\n","import { OrganizationData } from '../data/organizationData';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class Organization {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n\n constructor(obj?: OrganizationData) {\n if (obj == null) {\n return;\n }\n\n this.id = obj.id;\n this.name = obj.name;\n this.status = obj.status;\n this.type = obj.type;\n this.enabled = obj.enabled;\n this.useGroups = obj.useGroups;\n this.useDirectory = obj.useDirectory;\n this.useEvents = obj.useEvents;\n this.useTotp = obj.useTotp;\n this.use2fa = obj.use2fa;\n this.selfHost = obj.selfHost;\n this.usersGetPremium = obj.usersGetPremium;\n this.seats = obj.seats;\n this.maxCollections = obj.maxCollections;\n this.maxStorageGb = obj.maxStorageGb;\n }\n\n get canAccess() {\n if (this.type === OrganizationUserType.Owner) {\n return true;\n }\n return this.enabled && this.status === OrganizationUserStatusType.Confirmed;\n }\n\n get isAdmin() {\n return this.type === OrganizationUserType.Owner || this.type === OrganizationUserType.Admin;\n }\n\n get isOwner() {\n return this.type === OrganizationUserType.Owner;\n }\n}\n","import { ProfileOrganizationResponse } from '../response/profileOrganizationResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class OrganizationData {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n\n constructor(response: ProfileOrganizationResponse) {\n this.id = response.id;\n this.name = response.name;\n this.status = response.status;\n this.type = response.type;\n this.enabled = response.enabled;\n this.useGroups = response.useGroups;\n this.useDirectory = response.useDirectory;\n this.useEvents = response.useEvents;\n this.useTotp = response.useTotp;\n this.use2fa = response.use2fa;\n this.selfHost = response.selfHost;\n this.usersGetPremium = response.usersGetPremium;\n this.seats = response.seats;\n this.maxCollections = response.maxCollections;\n this.maxStorageGb = response.maxStorageGb;\n }\n}\n","export class PasswordHistory {\r\n password: string;\r\n date: number;\r\n\r\n constructor(password: string, date: number) {\r\n this.password = password;\r\n this.date = date;\r\n }\r\n}\r\n","import { FolderData } from '../data/folderData';\r\n\r\nimport { FolderView } from '../view/folderView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domain';\r\n\r\nexport class Folder extends Domain {\r\n id: string;\r\n name: CipherString;\r\n\r\n constructor(obj?: FolderData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n name: null,\r\n }, alreadyEncrypted, ['id']);\r\n }\r\n\r\n decrypt(): Promise {\r\n return this.decryptObj(new FolderView(this), {\r\n name: null,\r\n }, null);\r\n }\r\n}\r\n","export class EnvironmentUrls {\r\n base: string;\r\n api: string;\r\n identity: string;\r\n}\r\n","/**\n * Use as a Decorator on async functions, it will prevent multiple 'active' calls as the same time\n *\n * If a promise was returned from a previous call to this function, that hasn't yet resolved it will\n * be returned, instead of calling the original function again\n *\n * Results are not cached, once the promise has returned, the next call will result in a fresh call\n *\n * WARNING: The decorator's scope is singleton, so using it on transient objects can lead to memory leaks.\n * Read more at https://github.com/bitwarden/jslib/pull/7\n */\nexport function sequentialize(cacheKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const originalMethod: () => Promise = descriptor.value;\n const caches = new Map>>();\n\n const getCache = (obj: any) => {\n let cache = caches.get(obj);\n if (cache != null) {\n return cache;\n }\n cache = new Map>();\n caches.set(obj, cache);\n return cache;\n };\n\n return {\n value: function(...args: any[]) {\n const argsCacheKey = cacheKey(args);\n const cache = getCache(this);\n let response = cache.get(argsCacheKey);\n if (response != null) {\n return response;\n }\n\n response = originalMethod.apply(this, args).then((val: any) => {\n cache.delete(argsCacheKey);\n return val;\n }).catch((err: any) => {\n cache.delete(argsCacheKey);\n throw err;\n });\n\n cache.set(argsCacheKey, response);\n return response;\n },\n };\n };\n}\n","import { EncryptionType } from '../../enums/encryptionType';\n\nimport { Utils } from '../../misc/utils';\n\nexport class SymmetricCryptoKey {\n key: ArrayBuffer;\n encKey?: ArrayBuffer;\n macKey?: ArrayBuffer;\n encType: EncryptionType;\n\n keyB64: string;\n encKeyB64: string;\n macKeyB64: string;\n\n meta: any;\n\n constructor(key: ArrayBuffer, encType?: EncryptionType) {\n if (key == null) {\n throw new Error('Must provide key');\n }\n\n if (encType == null) {\n if (key.byteLength === 32) {\n encType = EncryptionType.AesCbc256_B64;\n } else if (key.byteLength === 64) {\n encType = EncryptionType.AesCbc256_HmacSha256_B64;\n } else {\n throw new Error('Unable to determine encType.');\n }\n }\n\n this.key = key;\n this.encType = encType;\n\n if (encType === EncryptionType.AesCbc256_B64 && key.byteLength === 32) {\n this.encKey = key;\n this.macKey = null;\n } else if (encType === EncryptionType.AesCbc128_HmacSha256_B64 && key.byteLength === 32) {\n this.encKey = key.slice(0, 16);\n this.macKey = key.slice(16, 32);\n } else if (encType === EncryptionType.AesCbc256_HmacSha256_B64 && key.byteLength === 64) {\n this.encKey = key.slice(0, 32);\n this.macKey = key.slice(32, 64);\n } else {\n throw new Error('Unsupported encType/key length.');\n }\n\n if (this.key != null) {\n this.keyB64 = Utils.fromBufferToB64(this.key);\n }\n if (this.encKey != null) {\n this.encKeyB64 = Utils.fromBufferToB64(this.encKey);\n }\n if (this.macKey != null) {\n this.macKeyB64 = Utils.fromBufferToB64(this.macKey);\n }\n }\n}\n","import { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class EncryptedObject {\n iv: ArrayBuffer;\n data: ArrayBuffer;\n mac: ArrayBuffer;\n key: SymmetricCryptoKey;\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherShareRequest {\n cipher: CipherRequest;\n collectionIds: string[];\n\n constructor(cipher: Cipher) {\n this.cipher = new CipherRequest(cipher);\n this.collectionIds = cipher.collectionIds;\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherBulkShareRequest {\n ciphers: CipherWithIdRequest[];\n collectionIds: string[];\n\n constructor(ciphers: Cipher[], collectionIds: string[]) {\n if (ciphers != null) {\n this.ciphers = [];\n ciphers.forEach((c) => {\n this.ciphers.push(new CipherWithIdRequest(c));\n });\n }\n this.collectionIds = collectionIds;\n }\n}\n","export class CipherBulkMoveRequest {\n ids: string[];\n folderId: string;\n\n constructor(ids: string[], folderId: string) {\n this.ids = ids == null ? [] : ids;\n this.folderId = folderId;\n }\n}\n","export class CipherBulkDeleteRequest {\n ids: string[];\n\n constructor(ids: string[]) {\n this.ids = ids == null ? [] : ids;\n }\n}\n","export class BreachAccountResponse {\n addedDate: Date;\n breachDate: Date;\n dataClasses: string[];\n description: string;\n domain: string;\n isActive: boolean;\n isVerified: boolean;\n logoType: string;\n modifiedDate: Date;\n name: string;\n pwnCount: number;\n title: string;\n\n constructor(response: any) {\n this.addedDate = response.AddedDate;\n this.breachDate = response.BreachDate;\n this.dataClasses = response.DataClasses;\n this.description = response.Description;\n this.domain = response.Domain;\n this.isActive = response.IsActive;\n this.isVerified = response.IsVerified;\n this.logoType = response.LogoType;\n this.modifiedDate = response.ModifiedDate;\n this.name = response.Name;\n this.pwnCount = response.PwnCount;\n this.title = response.Title;\n }\n}\n","export class UserKeyResponse {\n userId: string;\n publicKey: string;\n\n constructor(response: any) {\n this.userId = response.UserId;\n this.publicKey = response.PublicKey;\n }\n}\n","export class TwoFactorYubiKeyResponse {\n enabled: boolean;\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.key1 = response.Key1;\n this.key2 = response.Key2;\n this.key3 = response.Key3;\n this.key4 = response.Key4;\n this.key5 = response.Key5;\n this.nfc = response.Nfc;\n }\n}\n","export class TwoFactorU2fResponse {\n enabled: boolean;\n challenge: ChallengeResponse;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.challenge = response.Challenge == null ? null : new ChallengeResponse(response.Challenge);\n }\n}\n\nexport class ChallengeResponse {\n userId: string;\n appId: string;\n challenge: string;\n version: string;\n\n constructor(response: any) {\n this.userId = response.UserId;\n this.appId = response.AppId;\n this.challenge = response.Challenge;\n this.version = response.Version;\n }\n}\n","export class TwoFactorRecoverResponse {\n code: string;\n\n constructor(response: any) {\n this.code = response.Code;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderResponse {\n enabled: boolean;\n type: TwoFactorProviderType;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.type = response.Type;\n }\n}\n","export class TwoFactorEmailResponse {\n enabled: boolean;\n email: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.email = response.Email;\n }\n}\n","export class TwoFactorDuoResponse {\n enabled: boolean;\n host: string;\n secretKey: string;\n integrationKey: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.host = response.Host;\n this.secretKey = response.SecretKey;\n this.integrationKey = response.IntegrationKey;\n }\n}\n","export class TwoFactorAuthenticatorResponse {\n enabled: boolean;\n key: string;\n\n constructor(response: any) {\n this.enabled = response.Enabled;\n this.key = response.Key;\n }\n}\n","import { CipherResponse } from './cipherResponse';\nimport { CollectionDetailsResponse } from './collectionResponse';\nimport { DomainsResponse } from './domainsResponse';\nimport { FolderResponse } from './folderResponse';\nimport { ProfileResponse } from './profileResponse';\n\nexport class SyncResponse {\n profile?: ProfileResponse;\n folders: FolderResponse[] = [];\n collections: CollectionDetailsResponse[] = [];\n ciphers: CipherResponse[] = [];\n domains?: DomainsResponse;\n\n constructor(response: any) {\n if (response.Profile) {\n this.profile = new ProfileResponse(response.Profile);\n }\n\n if (response.Folders) {\n response.Folders.forEach((folder: any) => {\n this.folders.push(new FolderResponse(folder));\n });\n }\n\n if (response.Collections) {\n response.Collections.forEach((collection: any) => {\n this.collections.push(new CollectionDetailsResponse(collection));\n });\n }\n\n if (response.Ciphers) {\n response.Ciphers.forEach((cipher: any) => {\n this.ciphers.push(new CipherResponse(cipher));\n });\n }\n\n if (response.Domains) {\n this.domains = new DomainsResponse(response.Domains);\n }\n }\n}\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class ProfileOrganizationResponse {\n id: string;\n name: string;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n key: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.name = response.Name;\n this.useGroups = response.UseGroups;\n this.useDirectory = response.UseDirectory;\n this.useEvents = response.UseEvents;\n this.useTotp = response.UseTotp;\n this.use2fa = response.Use2fa;\n this.selfHost = response.SelfHost;\n this.usersGetPremium = response.UsersGetPremium;\n this.seats = response.Seats;\n this.maxCollections = response.MaxCollections;\n this.maxStorageGb = response.MaxStorageGb;\n this.key = response.Key;\n this.status = response.Status;\n this.type = response.Type;\n this.enabled = response.Enabled;\n }\n}\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class OrganizationUserResponse {\n id: string;\n userId: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n accessAll: boolean;\n\n constructor(response: any) {\n this.id = response.Id;\n this.userId = response.UserId;\n this.type = response.Type;\n this.status = response.Status;\n this.accessAll = response.AccessAll;\n }\n}\n\nexport class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {\n name: string;\n email: string;\n\n constructor(response: any) {\n super(response);\n this.name = response.Name;\n this.email = response.Email;\n }\n}\n\nexport class OrganizationUserDetailsResponse extends OrganizationUserResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Collections != null) {\n this.collections = response.Collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import {\n BillingChargeResponse,\n BillingInvoiceResponse,\n BillingSourceResponse,\n BillingSubscriptionResponse,\n} from './billingResponse';\nimport { OrganizationResponse } from './organizationResponse';\n\nexport class OrganizationBillingResponse extends OrganizationResponse {\n storageName: string;\n storageGb: number;\n paymentSource: BillingSourceResponse;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingInvoiceResponse;\n charges: BillingChargeResponse[] = [];\n expiration: Date;\n\n constructor(response: any) {\n super(response);\n this.storageName = response.StorageName;\n this.storageGb = response.StorageGb;\n this.paymentSource = response.PaymentSource == null ? null : new BillingSourceResponse(response.PaymentSource);\n this.subscription = response.Subscription == null ?\n null : new BillingSubscriptionResponse(response.Subscription);\n this.upcomingInvoice = response.UpcomingInvoice == null ?\n null : new BillingInvoiceResponse(response.UpcomingInvoice);\n if (response.Charges != null) {\n this.charges = response.Charges.map((c: any) => new BillingChargeResponse(c));\n }\n this.expiration = response.Expiration;\n }\n}\n","export class ListResponse {\n data: T[];\n continuationToken: string;\n\n constructor(response: any, t: new (dataResponse: any) => T) {\n this.data = response.Data == null ? [] : response.Data.map((dr: any) => new t(dr));\n this.continuationToken = response.ContinuationToken;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class IdentityTwoFactorResponse {\r\n twoFactorProviders: TwoFactorProviderType[];\r\n twoFactorProviders2 = new Map();\r\n\r\n constructor(response: any) {\r\n this.twoFactorProviders = response.TwoFactorProviders;\r\n if (response.TwoFactorProviders2 != null) {\r\n for (const prop in response.TwoFactorProviders2) {\r\n if (response.TwoFactorProviders2.hasOwnProperty(prop)) {\r\n this.twoFactorProviders2.set(parseInt(prop, null), response.TwoFactorProviders2[prop]);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","export class IdentityTokenResponse {\r\n accessToken: string;\r\n expiresIn: number;\r\n refreshToken: string;\r\n tokenType: string;\r\n\r\n privateKey: string;\r\n key: string;\r\n twoFactorToken: string;\r\n\r\n constructor(response: any) {\r\n this.accessToken = response.access_token;\r\n this.expiresIn = response.expires_in;\r\n this.refreshToken = response.refresh_token;\r\n this.tokenType = response.token_type;\r\n\r\n this.privateKey = response.PrivateKey;\r\n this.key = response.Key;\r\n this.twoFactorToken = response.TwoFactorToken;\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class GroupUserResponse {\n organizationUserId: string;\n accessAll: boolean;\n name: string;\n email: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n\n constructor(response: any) {\n this.organizationUserId = response.OrganizationUserId;\n this.accessAll = response.AccessAll;\n this.name = response.Name;\n this.email = response.Email;\n this.type = response.Type;\n this.status = response.Status;\n }\n}\n","import { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class GroupResponse {\n id: string;\n organizationId: string;\n name: string;\n accessAll: boolean;\n externalId: string;\n\n constructor(response: any) {\n this.id = response.Id;\n this.organizationId = response.OrganizationId;\n this.name = response.Name;\n this.accessAll = response.AccessAll;\n this.externalId = response.ExternalId;\n }\n}\n\nexport class GroupDetailsResponse extends GroupResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n if (response.Collections != null) {\n this.collections = response.Collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { DeviceType } from '../../enums/deviceType';\nimport { EventType } from '../../enums/eventType';\n\nexport class EventResponse {\n type: EventType;\n userId: string;\n organizationId: string;\n cipherId: string;\n collectionId: string;\n groupId: string;\n organizationUserId: string;\n actingUserId: string;\n date: Date;\n deviceType: DeviceType;\n ipAddress: string;\n\n constructor(response: any) {\n this.type = response.Type;\n this.userId = response.UserId;\n this.organizationId = response.OrganizationId;\n this.cipherId = response.CipherId;\n this.collectionId = response.CollectionId;\n this.groupId = response.GroupId;\n this.organizationUserId = response.OrganizationUserId;\n this.actingUserId = response.ActingUserId;\n this.date = response.Date;\n this.deviceType = response.DeviceType;\n this.ipAddress = response.IpAddress;\n }\n}\n","export class ErrorResponse {\n message: string;\n validationErrors: { [key: string]: string[]; };\n statusCode: number;\n\n constructor(response: any, status: number, identityResponse?: boolean) {\n let errorModel = null;\n if (identityResponse && response && response.ErrorModel) {\n errorModel = response.ErrorModel;\n } else if (response) {\n errorModel = response;\n }\n\n if (errorModel) {\n this.message = errorModel.Message;\n this.validationErrors = errorModel.ValidationErrors;\n } else {\n if (status === 429) {\n this.message = 'Rate limit exceeded. Try again later.';\n }\n }\n this.statusCode = status;\n }\n\n getSingleMessage(): string {\n if (this.validationErrors) {\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n if (this.validationErrors[key].length) {\n return this.validationErrors[key][0];\n }\n }\n }\n return this.message;\n }\n}\n","export class GlobalDomainResponse {\r\n type: number;\r\n domains: string[];\r\n excluded: number[];\r\n\r\n constructor(response: any) {\r\n this.type = response.Type;\r\n this.domains = response.Domains;\r\n this.excluded = response.Excluded;\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class CollectionUserResponse {\n organizationUserId: string;\n accessAll: boolean;\n name: string;\n email: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n readOnly: boolean;\n\n constructor(response: any) {\n this.organizationUserId = response.OrganizationUserId;\n this.accessAll = response.AccessAll;\n this.name = response.Name;\n this.email = response.Email;\n this.type = response.Type;\n this.status = response.Status;\n this.readOnly = response.ReadOnly;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nexport class SecureNoteApi {\r\n type: SecureNoteType;\r\n\r\n constructor(data: any) {\r\n this.type = data.Type;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nexport class LoginUriApi {\r\n uri: string;\r\n match: UriMatchType = null;\r\n\r\n constructor(data: any) {\r\n this.uri = data.Uri;\r\n this.match = data.Match != null ? data.Match : null;\r\n }\r\n}\r\n","import { LoginUriApi } from './loginUriApi';\r\n\r\nexport class LoginApi {\r\n uris: LoginUriApi[];\r\n username: string;\r\n password: string;\r\n totp: string;\r\n\r\n constructor(data: any) {\r\n this.username = data.Username;\r\n this.password = data.Password;\r\n this.totp = data.Totp;\r\n\r\n if (data.Uris) {\r\n this.uris = [];\r\n data.Uris.forEach((u: any) => {\r\n this.uris.push(new LoginUriApi(u));\r\n });\r\n }\r\n }\r\n}\r\n","export class IdentityApi {\r\n title: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n constructor(data: any) {\r\n this.title = data.Title;\r\n this.firstName = data.FirstName;\r\n this.middleName = data.MiddleName;\r\n this.lastName = data.LastName;\r\n this.address1 = data.Address1;\r\n this.address2 = data.Address2;\r\n this.address3 = data.Address3;\r\n this.city = data.City;\r\n this.state = data.State;\r\n this.postalCode = data.PostalCode;\r\n this.country = data.Country;\r\n this.company = data.Company;\r\n this.email = data.Email;\r\n this.phone = data.Phone;\r\n this.ssn = data.SSN;\r\n this.username = data.Username;\r\n this.passportNumber = data.PassportNumber;\r\n this.licenseNumber = data.LicenseNumber;\r\n }\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nexport class FieldApi {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(response: any) {\r\n this.type = response.Type;\r\n this.name = response.Name;\r\n this.value = response.Value;\r\n }\r\n}\r\n","export class CardApi {\r\n cardholderName: string;\r\n brand: string;\r\n number: string;\r\n expMonth: string;\r\n expYear: string;\r\n code: string;\r\n\r\n constructor(data: any) {\r\n this.cardholderName = data.CardholderName;\r\n this.brand = data.Brand;\r\n this.number = data.Number;\r\n this.expMonth = data.ExpMonth;\r\n this.expYear = data.ExpYear;\r\n this.code = data.Code;\r\n }\r\n}\r\n","export class AttachmentResponse {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n size: number;\r\n sizeName: string;\r\n\r\n constructor(response: any) {\r\n this.id = response.Id;\r\n this.url = response.Url;\r\n this.fileName = response.FileName;\r\n this.size = response.Size;\r\n this.sizeName = response.SizeName;\r\n }\r\n}\r\n","export { ApiService } from './api.service';\nexport { AppIdService } from './appId.service';\nexport { AuditService } from './audit.service';\nexport { AuthService } from './auth.service';\nexport { CipherService } from './cipher.service';\nexport { CollectionService } from './collection.service';\nexport { ConstantsService } from './constants.service';\nexport { ContainerService } from './container.service';\nexport { CryptoService } from './crypto.service';\nexport { EnvironmentService } from './environment.service';\nexport { FolderService } from './folder.service';\nexport { I18nService } from './i18n.service';\nexport { LockService } from './lock.service';\nexport { PasswordGenerationService } from './passwordGeneration.service';\nexport { SettingsService } from './settings.service';\nexport { StateService } from './state.service';\nexport { SyncService } from './sync.service';\nexport { TokenService } from './token.service';\nexport { TotpService } from './totp.service';\nexport { UserService } from './user.service';\n","import { StorageService } from 'jslib/abstractions/storage.service';\nimport { ConstantsService } from 'jslib/services';\n\nexport class HtmlStorageService implements StorageService {\n private localStorageKeys = new Set(['appId', 'anonymousAppId', 'rememberedEmail', 'passwordGenerationOptions',\n ConstantsService.disableFaviconKey, ConstantsService.lockOptionKey, 'rememberEmail',\n ConstantsService.localeKey, ConstantsService.lockOptionKey]);\n private localStorageStartsWithKeys = ['twoFactorToken_'];\n\n get(key: string): Promise {\n let json: string = null;\n if (this.isLocalStorage(key)) {\n json = window.localStorage.getItem(key);\n } else {\n json = window.sessionStorage.getItem(key);\n }\n if (json != null) {\n const obj = JSON.parse(json);\n return Promise.resolve(obj as T);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n if (obj == null) {\n return this.remove(key);\n }\n\n const json = JSON.stringify(obj);\n if (this.isLocalStorage(key)) {\n window.localStorage.setItem(key, json);\n } else {\n window.sessionStorage.setItem(key, json);\n }\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n if (this.isLocalStorage(key)) {\n window.localStorage.removeItem(key);\n } else {\n window.sessionStorage.removeItem(key);\n }\n return Promise.resolve();\n }\n\n private isLocalStorage(key: string): boolean {\n if (this.localStorageKeys.has(key)) {\n return true;\n }\n for (const swKey of this.localStorageStartsWithKeys) {\n if (key.startsWith(swKey)) {\n return true;\n }\n }\n return false;\n }\n}\n","import { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nexport class BroadcasterMessagingService implements MessagingService {\r\n constructor(private broadcasterService: BroadcasterService) { }\r\n\r\n send(subscriber: string, arg: any = {}) {\r\n const message = Object.assign({}, { command: subscriber }, arg);\r\n this.broadcasterService.send(message);\r\n }\r\n}\r\n","import {\n APP_INITIALIZER,\n LOCALE_ID,\n NgModule,\n} from '@angular/core';\n\nimport { ToasterModule } from 'angular2-toaster';\n\nimport { BroadcasterMessagingService } from '../../services/broadcasterMessaging.service';\nimport { HtmlStorageService } from '../../services/htmlStorage.service';\nimport { I18nService } from '../../services/i18n.service';\nimport { MemoryStorageService } from '../../services/memoryStorage.service';\nimport { WebPlatformUtilsService } from '../../services/webPlatformUtils.service';\n\nimport { EventService } from './event.service';\nimport { OrganizationGuardService } from './organization-guard.service';\nimport { OrganizationTypeGuardService } from './organization-type-guard.service';\nimport { RouterService } from './router.service';\nimport { UnauthGuardService } from './unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\nimport { ValidationService } from 'jslib/angular/services/validation.service';\n\nimport { Analytics } from 'jslib/misc/analytics';\n\nimport { ApiService } from 'jslib/services/api.service';\nimport { AppIdService } from 'jslib/services/appId.service';\nimport { AuditService } from 'jslib/services/audit.service';\nimport { AuthService } from 'jslib/services/auth.service';\nimport { CipherService } from 'jslib/services/cipher.service';\nimport { CollectionService } from 'jslib/services/collection.service';\nimport { ConstantsService } from 'jslib/services/constants.service';\nimport { ContainerService } from 'jslib/services/container.service';\nimport { CryptoService } from 'jslib/services/crypto.service';\nimport { EnvironmentService } from 'jslib/services/environment.service';\nimport { ExportService } from 'jslib/services/export.service';\nimport { FolderService } from 'jslib/services/folder.service';\nimport { LockService } from 'jslib/services/lock.service';\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\nimport { SettingsService } from 'jslib/services/settings.service';\nimport { StateService } from 'jslib/services/state.service';\nimport { SyncService } from 'jslib/services/sync.service';\nimport { TokenService } from 'jslib/services/token.service';\nimport { TotpService } from 'jslib/services/totp.service';\nimport { UserService } from 'jslib/services/user.service';\nimport { WebCryptoFunctionService } from 'jslib/services/webCryptoFunction.service';\n\nimport { ApiService as ApiServiceAbstraction } from 'jslib/abstractions/api.service';\nimport { AppIdService as AppIdServiceAbstraction } from 'jslib/abstractions/appId.service';\nimport { AuditService as AuditServiceAbstraction } from 'jslib/abstractions/audit.service';\nimport { AuthService as AuthServiceAbstraction } from 'jslib/abstractions/auth.service';\nimport { CipherService as CipherServiceAbstraction } from 'jslib/abstractions/cipher.service';\nimport { CollectionService as CollectionServiceAbstraction } from 'jslib/abstractions/collection.service';\nimport { CryptoService as CryptoServiceAbstraction } from 'jslib/abstractions/crypto.service';\nimport { CryptoFunctionService as CryptoFunctionServiceAbstraction } from 'jslib/abstractions/cryptoFunction.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from 'jslib/abstractions/environment.service';\nimport { ExportService as ExportServiceAbstraction } from 'jslib/abstractions/export.service';\nimport { FolderService as FolderServiceAbstraction } from 'jslib/abstractions/folder.service';\nimport { I18nService as I18nServiceAbstraction } from 'jslib/abstractions/i18n.service';\nimport { LockService as LockServiceAbstraction } from 'jslib/abstractions/lock.service';\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\nimport { SettingsService as SettingsServiceAbstraction } from 'jslib/abstractions/settings.service';\nimport { StateService as StateServiceAbstraction } from 'jslib/abstractions/state.service';\nimport { StorageService as StorageServiceAbstraction } from 'jslib/abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from 'jslib/abstractions/sync.service';\nimport { TokenService as TokenServiceAbstraction } from 'jslib/abstractions/token.service';\nimport { TotpService as TotpServiceAbstraction } from 'jslib/abstractions/totp.service';\nimport { UserService as UserServiceAbstraction } from 'jslib/abstractions/user.service';\n\nconst i18nService = new I18nService(window.navigator.language, 'locales');\nconst stateService = new StateService();\nconst broadcasterService = new BroadcasterService();\nconst messagingService = new BroadcasterMessagingService(broadcasterService);\nconst platformUtilsService = new WebPlatformUtilsService(i18nService);\nconst storageService: StorageServiceAbstraction = new HtmlStorageService();\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\n platformUtilsService);\nconst cryptoService = new CryptoService(storageService,\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService);\nconst tokenService = new TokenService(storageService);\nconst appIdService = new AppIdService(storageService);\nconst apiService = new ApiService(tokenService, platformUtilsService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst environmentService = new EnvironmentService(apiService, storageService);\nconst userService = new UserService(tokenService, storageService);\nconst settingsService = new SettingsService(userService, storageService);\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\n apiService, storageService, i18nService, platformUtilsService);\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\n i18nService, cipherService);\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\nconst lockService = new LockService(cipherService, folderService, collectionService,\n cryptoService, platformUtilsService, storageService, messagingService, null);\nconst syncService = new SyncService(userService, apiService, settingsService,\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService);\nconst totpService = new TotpService(storageService, cryptoFunctionService);\nconst containerService = new ContainerService(cryptoService, platformUtilsService);\nconst authService = new AuthService(cryptoService, apiService,\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService);\nconst exportService = new ExportService(folderService, cipherService, apiService);\nconst auditService = new AuditService(cryptoFunctionService, apiService);\n\nconst analytics = new Analytics(window, () => platformUtilsService.isDev() || platformUtilsService.isSelfHost(),\n platformUtilsService, storageService, appIdService);\ncontainerService.attachToWindow(window);\n\nexport function initFactory(): Function {\n return async () => {\n const isDev = platformUtilsService.isDev();\n if (!isDev && platformUtilsService.isSelfHost()) {\n environmentService.baseUrl = window.location.origin;\n }\n await apiService.setUrls({\n base: isDev ? null : window.location.origin,\n api: isDev ? 'http://localhost:4000' : null,\n identity: isDev ? 'http://localhost:33656' : null,\n });\n\n lockService.init(true);\n const locale = await storageService.get(ConstantsService.localeKey);\n await i18nService.init(locale);\n await authService.init();\n const htmlEl = window.document.documentElement;\n htmlEl.classList.add('locale_' + i18nService.translationLocale);\n let theme = await storageService.get(ConstantsService.themeKey);\n if (theme == null) {\n theme = 'light';\n }\n htmlEl.classList.add('theme_' + theme);\n stateService.save(ConstantsService.disableFaviconKey,\n await storageService.get(ConstantsService.disableFaviconKey));\n };\n}\n\n@NgModule({\n imports: [\n ToasterModule,\n ],\n declarations: [],\n providers: [\n ValidationService,\n AuthGuardService,\n OrganizationGuardService,\n OrganizationTypeGuardService,\n UnauthGuardService,\n RouterService,\n EventService,\n { provide: AuditServiceAbstraction, useValue: auditService },\n { provide: AuthServiceAbstraction, useValue: authService },\n { provide: CipherServiceAbstraction, useValue: cipherService },\n { provide: FolderServiceAbstraction, useValue: folderService },\n { provide: CollectionServiceAbstraction, useValue: collectionService },\n { provide: EnvironmentServiceAbstraction, useValue: environmentService },\n { provide: TotpServiceAbstraction, useValue: totpService },\n { provide: TokenServiceAbstraction, useValue: tokenService },\n { provide: I18nServiceAbstraction, useValue: i18nService },\n { provide: CryptoServiceAbstraction, useValue: cryptoService },\n { provide: PlatformUtilsServiceAbstraction, useValue: platformUtilsService },\n { provide: PasswordGenerationServiceAbstraction, useValue: passwordGenerationService },\n { provide: ApiServiceAbstraction, useValue: apiService },\n { provide: SyncServiceAbstraction, useValue: syncService },\n { provide: UserServiceAbstraction, useValue: userService },\n { provide: MessagingServiceAbstraction, useValue: messagingService },\n { provide: BroadcasterService, useValue: broadcasterService },\n { provide: SettingsServiceAbstraction, useValue: settingsService },\n { provide: LockServiceAbstraction, useValue: lockService },\n { provide: StorageServiceAbstraction, useValue: storageService },\n { provide: StateServiceAbstraction, useValue: stateService },\n { provide: ExportServiceAbstraction, useValue: exportService },\n {\n provide: APP_INITIALIZER,\n useFactory: initFactory,\n deps: [],\n multi: true,\n },\n {\n provide: LOCALE_ID,\n useFactory: () => i18nService.translationLocale,\n deps: [],\n },\n ],\n})\nexport class ServicesModule {\n}\n","\r\n\r\n","
\n
\n
\n
\n

{{'updateEncryptionKey' | i18n}}

\n \n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}} {{'updateEncryptionKeyDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n {{'updateEncryptionKeyWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n YubiKey\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorYubikeyWarning' | i18n}}

\n
    \n
  • {{'twoFactorYubikeySupportUsb' | i18n}}
  • \n
  • {{'twoFactorYubikeySupportMobile' | i18n}}
  • \n
\n
\n \"\"\n

{{'twoFactorYubikeyAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorYubikeyPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorYubikeySelectKey' | i18n}}
  4. \n
  5. {{'twoFactorYubikeyTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorYubikeySaveForm' | i18n}}
  8. \n
\n
\n
\n
\n \n \n
\n {{k.existingKey}}\n \n
\n
\n
\n {{'nfcSupport' | i18n}}\n
\n \n \n
\n {{'twoFactorYubikeySupportsNfcDesc' | i18n}}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n FIDO U2F\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorU2fWarning' | i18n}}

\n
    \n
  • {{'twoFactorU2fSupportWeb' | i18n}}
  • \n
\n
\n \n \"\"\n

{{'twoFactorU2fAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorU2fPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorU2fTouchButton' | i18n}}
  4. \n
\n
\n
\n \n

\n \n

\n {{'twoFactorU2fWaiting' | i18n}}...\n
\n \n

\n \n

\n {{'twoFactorU2fClickEnable' | i18n}}\n
\n \n

\n \n

\n {{'twoFactorU2fProblemReading' | i18n}}\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'recoveryCodeTitle' | i18n}}\n

\n \n
\n \n \n \n
\n \n

{{'twoFactorRecoveryYourCode' | i18n}}:

\n {{code}}\n
\n \n {{'twoFactorRecoveryNoCode' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'twoStepOptions' | i18n}}

\n \n
\n \n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'emailTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n {{'email' | i18n}}: {{email}}\n \n \n

\n {{'twoFactorEmailDesc' | i18n}}\n \"\"\n

\n
\n \n \n
\n
\n \n \n {{'verificationCodeEmailSent' | i18n : sentEmail}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n Duo\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \"\"\n {{'twoFactorDuoIntegrationKey' | i18n}}: {{ikey}}\n
\n {{'twoFactorDuoSecretKey' | i18n}}: {{skey}}\n
\n {{'twoFactorDuoApiHostname' | i18n}}: {{host}}\n
\n \n \"\"\n

{{'twoFactorDuoDesc' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'authenticatorAppTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \"\"\n

{{'twoStepAuthenticatorDesc' | i18n}}

\n

\n 1. {{'twoStepAuthenticatorDownloadApp' | i18n}}\n

\n
\n \n \n

{{'twoStepLoginProviderEnabled' | i18n}}

\n {{'twoStepAuthenticatorReaddDesc' | i18n}}\n
\n \"\"\n

{{'twoStepAuthenticatorNeedApp' | i18n}}

\n
\n \n

{{'twoStepAuthenticatorAppsRecommended' | i18n}}

\n

\n 2. {{'twoStepAuthenticatorScanCode' | i18n}}\n

\n
\n

\n
\n {{key}}\n

\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'share' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'shareDesc' | i18n}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'purgeVault' | i18n}}

\n \n
\n
\n

{{'purgeVaultDesc' | i18n}}

\n {{'purgeVaultWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'passwordHistory' | i18n}}

\n \n
\n
    \n
  • \n
    \n
    {{h.password}}
    \n {{h.date | date:'medium'}}\n
    \n
    \n \n
    \n
  • \n
\n
\n {{'noPasswordsInList' | i18n}}\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'groupAccess' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n

{{'groupAccessUserDesc' | i18n}}

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{g.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{title}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n \n

{{'inviteUserDesc' | i18n}}

\n
\n \n \n {{'inviteMultipleEmailDesc' | i18n : '20'}}\n
\n
\n

{{'userType' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdGroupDesc' | i18n}}\n
\n

\n
\n {{'accessControl' | i18n}}\n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'userAccess' | i18n}}\n {{entityName}}\n

\n \n
\n
\n \n
\n
\n \n {{'noUsersInList' | i18n}}\n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n \n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'eventLogs' | i18n}}\n {{name}}\n

\n \n
\n
\n \n
\n
\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n
\n {{'noEventsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n
\n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'collections' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'collectionsDesc' | i18n}}

\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n
\n
\n
\n \n \n
\n

\n {{'groupAccess' | i18n}}\n
\n \n \n
\n

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'readOnly' | i18n}}
\n \n \n \n {{g.name}}\n \n \n \n \n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'attachments' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n {{a.fileName}}\n
\n {{a.sizeName}}\n
\n \n
\n

{{'newAttachment' | i18n}}

\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n {{totpSec}}\n \n \n \n \n \n \n \n {{totpCodeFormatted}}\n \n
\n
\n
\n \n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n \n {{'newUri' | i18n}}\n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

{{'customFields' | i18n}}

\n \n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n
\n
\n
\n
\n \n {{'newCustomField' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n","","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteOrganization' | i18n}}

\n \n
\n
\n

{{'deleteOrganizationDesc' | i18n}}

\n {{'deleteOrganizationWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deleteAccount' | i18n}}

\n \n
\n
\n

{{'deleteAccountDesc' | i18n}}

\n {{'deleteAccountWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

{{'deauthorizeSessions' | i18n}}

\n \n
\n
\n

{{'deauthorizeSessionsDesc' | i18n}}

\n {{'deauthorizeSessionsWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'shareSelected' | i18n}}\n

\n \n
\n
\n

{{'shareManyDesc' | i18n}}

\n

{{'shareSelectedItemsDesc' | i18n: this.ciphers.length : shareableCiphers.length : nonShareableCount}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'moveSelected' | i18n}}\n

\n \n
\n
\n

{{'moveSelectedItemsDesc' | i18n: cipherIds.length}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","
\n
\n
\n
\n

\n {{'deleteSelected' | i18n}}\n

\n \n
\n
\n {{'deleteSelectedItemsDesc' | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\n
\n
\n","export class VerifyBankRequest {\n amount1: number;\n amount2: number;\n}\n","export class SeatRequest {\n seatAdjustment: number;\n}\n","
\n
\n

{{(add ? 'addSeats' : 'removeSeats') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{seatAdjustment || 0}} × {{seatPrice | currency:'$'}} = {{adjustedSeatTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'seatsAddNote' : 'seatsRemoveNote') | i18n}}\n \n
\n
\n","
\n

\n {{'billingAndLicensing' | i18n}}\n \n \n \n

\n
\n\n\n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'billingPlan' | i18n}}
\n
{{billing.plan}}
\n
{{'expiration' | i18n}}
\n
{{billing.expiration | date:'mediumDate'}}
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'billingPlan' | i18n}}
\n
{{billing.plan}}
\n \n
{{'status' | i18n}}
\n
\n {{subscription.status || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$'))\n : '-'}}\n
\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n \n
\n

{{'userSeats' | i18n}}

\n

{{'subscriptionUserSeats' | i18n : billing.seats}}

\n \n
\n
\n \n \n
\n \n
\n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : billing.maxStorageGb || 0 : billing.storageName || '0 MB'}}

\n
\n
{{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n \n \n

{{'verifyBankAccountDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}

\n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n

\n \n {{paymentSource.description}}\n

\n
\n \n \n \n

{{'charges' | i18n}}

\n

{{'noCharges' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.createdDate | date:'mediumDate'}}{{c.paymentSource ? c.paymentSource.description : '-'}}{{c.status}}{{c.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n
\n","
\n

{{'twoStepLogin' | i18n}}

\n
\n

{{'twoStepLoginDesc' | i18n}}

\n

{{'twoStepLoginOrganizationDesc' | i18n}}

\n\n

{{'twoStepLoginRecoveryWarning' | i18n}}

\n \n
\n

\n {{'providers' | i18n}}\n \n \n \n

\n\n\n\n\n\n\n\n\n","export class OrganizationUpdateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n}\n","
\n

{{'myOrganization' | i18n}}

\n
\n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n

{{'taxInformation' | i18n}}

\n
\n
\n
{{org.businessAddress1}}
\n
{{org.businessAddress2}}
\n
{{org.businessAddress3}}
\n
{{org.businessCountry}}
\n
{{org.businessTaxNumber}}
\n
\n

{{'taxInformationDesc' | i18n}}

\n\n {{'contactSupport' | i18n}}\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n
\n
\n\n","
\n \n
\n","export class OrganizationUserUpdateGroupsRequest {\n groupIds: string[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserUpdateRequest {\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","import { OrganizationUserType } from '../../enums/organizationUserType';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class OrganizationUserInviteRequest {\n emails: string[] = [];\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","export class OrganizationUserConfirmRequest {\n key: string;\n}\n","
\n

{{'people' | i18n}}

\n
\n
\n \n \n \n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noUsersInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'user' | i18n}}\n \n \n
\n
\n\n\n\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class GroupRequest {\n name: string;\n accessAll: boolean;\n externalId: string;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","
\n

{{'groups' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noGroupsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{g.name}}\n \n \n
\n
\n\n\n","
\n

{{'eventLogs' | i18n}}

\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n\n\n

{{'noEventsInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n \n {{e.userName}}\n
\n \n
\n","
\n

{{'collections' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n\n

{{'noCollectionsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{c.name}}\n \n \n
\n
\n\n\n","
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n","
\n
\n

{{'exportVault' | i18n}}

\n
\n

{{'exportMasterPassword' | i18n}}

\n {{'exportWarning' | i18n}}\n
\n
\n \n \n
\n
\n \n
\n","import { CipherRequest } from './cipherRequest';\nimport { CollectionRequest } from './collectionRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportOrganizationCiphersRequest {\n ciphers: CipherRequest[] = [];\n collections: CollectionRequest[] = [];\n collectionRelationships: Array> = [];\n}\n","
\n

{{'importData' | i18n}}

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/export-your-data/\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-lastpass/\n \n \n Using the KeePassX desktop application, navigate to \"Database\" → \"Export to CSV file\" and save the CSV file.\n \n \n In the Avira web vault, go to \"Settings\" → \"My Data\" → \"Export data\" and save the CSV file.\n \n \n In the Blur web vault, click your username at the top and go to \"Settings\" → \"Export Data\", then click \"Export CSV\"\n for your \"Accounts\".\n \n \n Using the SaveInCloud desktop application, navigate to \"File\" → \"Export\" → \"As XML\" and save the XML file.\n \n \n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to \"Settings\" →\n \"Export\" button and save the file \"As CSV\".\n \n \n Using the KeePass 2 desktop application, navigate to \"File\" → \"Export\" and select the \"KeePass XML (2.x)\" option.\n \n \n Using the Universal Password Manager desktop application, navigate to \"Database\" → \"Export\" and save the CSV file.\n \n \n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to \"Settings\". Click\n the \"Export accounts\" button to save the CSV file.\n \n \n Using the Meldium web vault, navigate to \"Settings\". Locate the \"Export data\" function and click \"Show me my data\" to save\n the CSV file.\n \n \n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to \"Backup\" (top right) and find the \"Export to .csv File\"\n option. Click \"Export Now\" to save the CSV file.\n \n \n \n The process is exactly the same as importing from Google Chrome.\n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-chrome/\n \n \n Use the\n FF Password Exporter application to export your passwords to a CSV file.\n \n \n See detailed instructions on our help site at\n https://help.bitwarden.com/article/import-from-1password/.\n \n \n Using the Password Dragon desktop application, navigate to \"File\" → \"Export\" → \"To XML\". In the dialog that pops\n up select \"All Rows\" and check all fields. Click the \"Export\" button and save the XML file.\n \n \n Using the Enpass desktop application, navigate to \"File\" → \"Export\" → \"As CSV\". Select \"OK\" to the warning alert\n and save the CSV file. Note that the importer only supports files exported while Enpass is set to the English\n language, so adjust your settings accordingly.\n \n \n Using the Password Safe desktop application, navigate to \"File\" → \"Export To\" → \"XML format...\" and save the XML\n file.\n \n \n Using the Dashlane desktop application, navigate to \"File\" → \"Export\" → \"Unsecured archive (readable) in CSV format\"\n and save the CSV file.\n \n \n Using the mSecure desktop application, navigate to \"File\" → \"Export\" → \"CSV File...\" and save the CSV file.\n \n \n Using the Sticky Password desktop application, navigate to \"Menu\" (top right) → \"Export\" → \"Export all\". Select\n the unencrypted format XML option and save the XML file.\n \n \n Using the True Key desktop application, click the gear icon (top right) and then navigate to \"App Settings\". Click the \"Export\"\n button, enter your password and save the CSV file.\n \n \n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to expand the navigation\n bar. Navigate to \"Data\" → \"Export\". Click the \"download HTML+JSON\" button to save the HTML file.\n \n \n Using the RoboForm Editor desktop application, navigate to \"RoboForm\" (top left) → \"Options\" → \"Account & Data\"\n and click the \"Export\" button. Select all of your data, change the \"Format\" to \"CSV file\" and then click the\n \"Export\" button to save the CSV file. Note: RoboForm only allows you to export Logins. Other items will not be\n exported.\n \n \n Log into the Passbolt web vault and navigate to the \"Passwords\" listing. Select all of the passwords you would like to export\n and click the \"Export\" button at the top of the listing. Choose the \"csv (lastpass)\" export format and click\n the \"Export\" button.\n \n \n Using the Ascendo DataVault desktop application, navigate to \"Tools\" → \"Export\". In the dialog that pops up, select\n the \"All Items (DVX, CSV)\" option. Click the \"Ok\" button to save the CSV file.\n \n \n Using the Password Boss desktop application, navigate to \"File\" → \"Export data\" → \"Password Boss JSON - not encrypted\"\n and save the JSON file.\n \n \n Log into the Zoho web vault (vault.zoho.com). Navigate to \"Tools\" → \"Export Secrets\". Select \"All Secrets\" and click\n the \"Zoho Vault Format CSV\" button. Highlight and copy the data from the textarea. Open a text editor like Notepad\n and paste the data. Save the data from the text editor as\n zoho_export.csv.\n \n \n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner. Navigate to \"Export\"\n → \"Export as CSV\" and save the CSV file.\n \n \n Using the PassKeep mobile app, navigate to \"Backup/Restore\". Locate the \"CSV Backup/Restore\" section and click \"Backup to\n CSV\" to save the CSV file.\n \n \n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n GNOME Keyring Import/Export python script to your desktop as\n pw_helper.py. Open terminal and run\n chmod +rx Desktop/pw_helper.py and then\n python Desktop/pw_helper.py export Desktop/my_passwords.json. Then upload the resulting\n my_passwords.json file here to Bitwarden.\n \n \n Using the Password Agent desktop application navigate to \"File\" → \"Export\", select the \"Fields to export\" button and\n check all of the fields, change the \"Output format\" to \"CSV\", and then click the \"Start\" button to save the CSV\n file.\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n","
\r\n
\r\n
\r\n
\r\n
{{'tools' | i18n}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","export enum EventType {\n User_LoggedIn = 1000,\n User_ChangedPassword = 1001,\n User_Enabled2fa = 1002,\n User_Disabled2fa = 1003,\n User_Recovered2fa = 1004,\n User_FailedLogIn = 1005,\n User_FailedLogIn2fa = 1006,\n\n Cipher_Created = 1100,\n Cipher_Updated = 1101,\n Cipher_Deleted = 1102,\n Cipher_AttachmentCreated = 1103,\n Cipher_AttachmentDeleted = 1104,\n Cipher_Shared = 1105,\n Cipher_UpdatedCollections = 1106,\n\n Collection_Created = 1300,\n Collection_Updated = 1301,\n Collection_Deleted = 1302,\n\n Group_Created = 1400,\n Group_Updated = 1401,\n Group_Deleted = 1402,\n\n OrganizationUser_Invited = 1500,\n OrganizationUser_Confirmed = 1501,\n OrganizationUser_Updated = 1502,\n OrganizationUser_Removed = 1503,\n OrganizationUser_UpdatedGroups = 1504,\n\n Organization_Updated = 1600,\n\n}\n","\n 0\">\n \n \n \n \n \n \n \n \n
\n \n \n \n \n {{c.name}}\n \n \n
\n {{c.subTitle}}\n
\n \n
\n
\n \n \n

{{'noItemsInList' | i18n}}

\n \n
\n
\n
\n","
\n
\n Filters\n
\n
\n \n \n

{{'types' | i18n}}

\n \n

\n \n

\n \n \n

\n {{'folders' | i18n}}\n \n \n \n

\n \n
\n \n

{{'collections' | i18n}}

\n \n
\n
\n
\n
\n","
\n
\n
\n \n \n
\n
\n
\n

{{'vault' | i18n}}

\n \n
\n \n \n
\n
\n
\n\n\n\n\n","\n
\n
\n
\n \n
\n {{organization.name}}\n {{'organization' | i18n}}\n
\n
\n \n
\n
\n\n\n","
\n

{{'dataBreachReport' | i18n}}

\n
\n

{{'breachDesc' | i18n}}

\n
\n
\n
\n \n \n {{'breachCheckUsernameEmail' | i18n}}\n
\n
\n \n
\n
\n

{{'reportError' | i18n}}...

\n \n \n {{'breachUsernameNotFound' | i18n : checkedUsername}}\n \n \n {{'breachUsernameFound' | i18n : checkedUsername : breachedAccounts.length}}\n \n
    \n
  • \n
    \n
    \n \"\"\n
    \n
    \n

    {{a.title}}

    \n

    \n

    {{'compromisedData' | i18n}}:

    \n
      \n
    • {{d}}
    • \n
    \n
    \n
    \n
    \n
    {{'website' | i18n}}
    \n
    {{a.domain}}
    \n
    {{'affectedUsers' | i18n}}
    \n
    {{a.pwnCount | number}}
    \n
    {{'breachOccurred' | i18n}}
    \n
    {{a.breachDate | date: 'mediumDate'}}
    \n
    {{'breachReported' | i18n}}
    \n
    {{a.addedDate | date: 'mediumDate'}}
    \n
    \n
    \n
    \n
  • \n
\n
\n
\n","import { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { OnInit } from '@angular/core';\r\n\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { PasswordHistory } from '../../models/domain/passwordHistory';\r\n\r\nexport class PasswordGeneratorHistoryComponent implements OnInit {\r\n history: PasswordHistory[] = [];\r\n\r\n constructor(protected passwordGenerationService: PasswordGenerationService, protected analytics: Angulartics2,\r\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\r\n protected toasterService: ToasterService, private win: Window) { }\r\n\r\n async ngOnInit() {\r\n this.history = await this.passwordGenerationService.getHistory();\r\n }\r\n\r\n clear() {\r\n this.history = [];\r\n this.passwordGenerationService.clear();\r\n }\r\n\r\n copy(password: string) {\r\n this.analytics.eventTrack.next({ action: 'Copied Historical Password' });\n const copyOptions = this.win != null ? { doc: this.win.document } : null;\r\n this.platformUtilsService.copyToClipboard(password, copyOptions);\r\n this.toasterService.popAsync('info', null, this.i18nService.t('valueCopied', this.i18nService.t('password')));\r\n }\r\n}\r\n","import { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class PasswordGeneratorComponent implements OnInit {\n @Input() showSelect: boolean = false;\n @Output() onSelected = new EventEmitter();\n\n options: any = {};\n password: string = '-';\n showOptions = false;\n avoidAmbiguous = false;\n\n constructor(protected passwordGenerationService: PasswordGenerationService, protected analytics: Angulartics2,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n protected toasterService: ToasterService, private win: Window) { }\n\n async ngOnInit() {\n this.options = await this.passwordGenerationService.getOptions();\n this.avoidAmbiguous = !this.options.ambiguous;\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n this.analytics.eventTrack.next({ action: 'Generated Password' });\n await this.passwordGenerationService.addHistory(this.password);\n }\n\n async sliderChanged() {\n this.saveOptions(false);\n await this.passwordGenerationService.addHistory(this.password);\n this.analytics.eventTrack.next({ action: 'Regenerated Password' });\n }\n\n async sliderInput() {\n this.normalizeOptions();\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n }\n\n async saveOptions(regenerate: boolean = true) {\n this.normalizeOptions();\n await this.passwordGenerationService.saveOptions(this.options);\n\n if (regenerate) {\n await this.regenerate();\n }\n }\n\n async regenerate() {\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n await this.passwordGenerationService.addHistory(this.password);\n this.analytics.eventTrack.next({ action: 'Regenerated Password' });\n }\n\n copy() {\n this.analytics.eventTrack.next({ action: 'Copied Generated Password' });\n const copyOptions = this.win != null ? { doc: this.win.document } : null;\n this.platformUtilsService.copyToClipboard(this.password, copyOptions);\n this.toasterService.popAsync('info', null, this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n\n select() {\n this.analytics.eventTrack.next({ action: 'Selected Generated Password' });\n this.onSelected.emit(this.password);\n }\n\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n\n private normalizeOptions() {\n this.options.minLowercase = 0;\n this.options.minUppercase = 0;\n this.options.ambiguous = !this.avoidAmbiguous;\n\n if (!this.options.uppercase && !this.options.lowercase && !this.options.number && !this.options.special) {\n this.options.lowercase = true;\n const lowercase = document.querySelector('#lowercase') as HTMLInputElement;\n if (lowercase) {\n lowercase.checked = true;\n }\n }\n\n if (!this.options.length || this.options.length < 5) {\n this.options.length = 5;\n } else if (this.options.length > 128) {\n this.options.length = 128;\n }\n\n if (!this.options.minNumber) {\n this.options.minNumber = 0;\n } else if (this.options.minNumber > this.options.length) {\n this.options.minNumber = this.options.length;\n } else if (this.options.minNumber > 9) {\n this.options.minNumber = 9;\n }\n\n if (!this.options.minSpecial) {\n this.options.minSpecial = 0;\n } else if (this.options.minSpecial > this.options.length) {\n this.options.minSpecial = this.options.length;\n } else if (this.options.minSpecial > 9) {\n this.options.minSpecial = 9;\n }\n\n if (this.options.minSpecial + this.options.minNumber > this.options.length) {\n this.options.minSpecial = this.options.length - this.options.minNumber;\n }\n }\n}\n","
\n

{{'passwordGenerator' | i18n}}

\n
\n
\n
\n {{password}}\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n\n","import { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport {\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { ExportService } from '../../abstractions/export.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { UserService } from '../../abstractions/user.service';\n\nexport class ExportComponent {\n @Output() onSaved = new EventEmitter();\n\n formPromise: Promise;\n masterPassword: string;\n showPassword = false;\n\n constructor(protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected cryptoService: CryptoService, protected userService: UserService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected exportService: ExportService, protected win: Window) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n return;\n }\n\n const email = await this.userService.getEmail();\n const key = await this.cryptoService.makeKey(this.masterPassword, email);\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n const storedKeyHash = await this.cryptoService.getKeyHash();\n\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\n try {\n this.formPromise = this.getExportData();\n const data = await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Exported Data' });\n this.downloadFile(data);\n this.saved();\n } catch { }\n } else {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Export' });\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n\n protected saved() {\n this.onSaved.emit();\n }\n\n protected getExportData() {\n return this.exportService.getExport('csv');\n }\n\n protected getFileName(prefix?: string) {\n return this.exportService.getFileName(prefix);\n }\n\n private downloadFile(csv: string): void {\n const fileName = this.getFileName();\n this.platformUtilsService.saveFile(this.win, csv, { type: 'text/plain' }, fileName);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\nimport { CipherView } from '../models/view';\n\nexport class ZohoVaultCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(value['Secret Name'])) {\n return;\n }\n this.processFolder(result, this.getValueOrDefault(value.ChamberName));\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.Favorite, '0') === '1';\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.name = this.getValueOrDefault(value['Secret Name'], '--');\n cipher.login.uris = this.makeUriArray(value['Secret URL']);\n this.parseData(cipher, value.SecretData);\n this.parseData(cipher, value.CustomData);\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n\n private parseData(cipher: CipherView, data: string) {\n if (this.isNullOrWhitespace(data)) {\n return;\n }\n const dataLines = this.splitNewLine(data);\n dataLines.forEach((line) => {\n const delimPosition = line.indexOf(':');\n if (delimPosition < 0) {\n return;\n }\n const field = line.substring(0, delimPosition);\n const value = line.length > delimPosition ? line.substring(delimPosition + 1) : null;\n if (this.isNullOrWhitespace(field) || this.isNullOrWhitespace(value) || field === 'SecretType') {\n return;\n }\n const fieldLower = field.toLowerCase();\n if (cipher.login.username == null && this.usernameFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.username = value;\n } else if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.password = value;\n } else {\n this.processKvp(cipher, field, value);\n }\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class UpmCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length !== 5) {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.notes = this.getValueOrDefault(value[4]);\n cipher.login.username = this.getValueOrDefault(value[1]);\n cipher.login.password = this.getValueOrDefault(value[2]);\n cipher.login.uris = this.makeUriArray(value[3]);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst PropertiesToIgnore = ['kind', 'autologin', 'favorite', 'hexcolor', 'protectedwithpassword', 'subdomainonly',\n 'type', 'tk_export_version', 'note', 'title', 'document_content',\n];\n\nexport class TrueKeyCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.favorite, '').toLowerCase() === 'true';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.notes = this.getValueOrDefault(value.memo, '');\n cipher.login.username = this.getValueOrDefault(value.login);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n\n if (value.kind !== 'login') {\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.note, '');\n }\n\n if (value.kind === 'cc') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\n cipher.card.number = this.getValueOrDefault(value.number);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n if (!this.isNullOrWhitespace(value.expiryDate)) {\n try {\n const expDate = new Date(value.expiryDate);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n }\n } else if (value.kind !== 'login') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n if (!this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = this.getValueOrDefault(value.document_content, '');\n }\n for (const property in value) {\n if (value.hasOwnProperty(property) && PropertiesToIgnore.indexOf(property.toLowerCase()) < 0 &&\n !this.isNullOrWhitespace(value[property])) {\n this.processKvp(cipher, property, value[property]);\n }\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class StickyPasswordXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const loginNodes = doc.querySelectorAll('root > Database > Logins > Login');\n Array.from(loginNodes).forEach((loginNode) => {\n const accountId = loginNode.getAttribute('ID');\n if (this.isNullOrWhitespace(accountId)) {\n return;\n }\n\n const usernameText = loginNode.getAttribute('Name');\n const passwordText = loginNode.getAttribute('Password');\n let titleText: string = null;\n let linkText: string = null;\n let notesText: string = null;\n let groupId: string = null;\n let groupText: string = null;\n\n const accountLogin = doc.querySelector('root > Database > Accounts > Account > ' +\n 'LoginLinks > Login[SourceLoginID=\"' + accountId + '\"]');\n if (accountLogin != null) {\n const account = accountLogin.parentElement.parentElement;\n if (account != null) {\n titleText = account.getAttribute('Name');\n linkText = account.getAttribute('Link');\n groupId = account.getAttribute('ParentID');\n notesText = account.getAttribute('Comments');\n if (!this.isNullOrWhitespace(notesText)) {\n notesText = notesText.split('/n').join('\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(groupId)) {\n groupText = this.buildGroupText(doc, groupId, '');\n this.processFolder(result, groupText);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(titleText, '--');\n cipher.notes = this.getValueOrDefault(notesText);\n cipher.login.username = this.getValueOrDefault(usernameText);\n cipher.login.password = this.getValueOrDefault(passwordText);\n cipher.login.uris = this.makeUriArray(linkText);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n\n buildGroupText(doc: Document, groupId: string, groupText: string): string {\n const group = doc.querySelector('root > Database > Groups > Group[ID=\"' + groupId + '\"]');\n if (group == null) {\n return groupText;\n }\n if (!this.isNullOrWhitespace(groupText)) {\n groupText = '/' + groupText;\n }\n groupText = group.getAttribute('Name') + groupText;\n return this.buildGroupText(doc, group.getAttribute('ParentID'), groupText);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\nimport { CipherView } from '../models/view/cipherView';\n\nexport class SplashIdCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n this.processFolder(result, this.getValueOrDefault(value[value.length - 1]));\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 2], '');\n cipher.name = this.getValueOrDefault(value[1], '--');\n\n if (value[0] === 'Web Logins' || value[0] === 'Servers' || value[0] === 'Email Accounts') {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n this.parseFieldsToNotes(cipher, 5, value);\n } else {\n this.parseFieldsToNotes(cipher, 2, value);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n\n private parseFieldsToNotes(cipher: CipherView, startIndex: number, value: any) {\n // last 3 rows do not get parsed\n for (let i = startIndex; i < value.length - 3; i++) {\n if (this.isNullOrWhitespace(value[i])) {\n continue;\n }\n cipher.notes += (value[i] + '\\n');\n }\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class SaferPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.url), '--');\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class SafeInCloudXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const db = doc.querySelector('database');\n if (db == null) {\n result.errorMessage = 'Missing `database` node.';\n result.success = false;\n return result;\n }\n\n const foldersMap = new Map();\n\n Array.from(doc.querySelectorAll('database > label')).forEach((labelEl) => {\n const name = labelEl.getAttribute('name');\n const id = labelEl.getAttribute('id');\n if (!this.isNullOrWhitespace(name) && !this.isNullOrWhitespace(id)) {\n foldersMap.set(id, result.folders.length);\n const folder = new FolderView();\n folder.name = name;\n result.folders.push(folder);\n }\n });\n\n Array.from(doc.querySelectorAll('database > card')).forEach((cardEl) => {\n if (cardEl.getAttribute('template') === 'true') {\n return;\n }\n\n const labelIdEl = this.querySelectorDirectChild(cardEl, 'label_id');\n if (labelIdEl != null) {\n const labelId = labelIdEl.textContent;\n if (!this.isNullOrWhitespace(labelId) && foldersMap.has(labelId)) {\n result.folderRelationships.push([result.ciphers.length, foldersMap.get(labelId)]);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(cardEl.getAttribute('title'), '--');\n\n const cardType = cardEl.getAttribute('type');\n if (cardType === 'note') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else {\n Array.from(this.querySelectorAllDirectChild(cardEl, 'field')).forEach((fieldEl) => {\n const text = fieldEl.textContent;\n if (this.isNullOrWhitespace(text)) {\n return;\n }\n const name = fieldEl.getAttribute('name');\n const fieldType = this.getValueOrDefault(fieldEl.getAttribute('type'), '').toLowerCase();\n if (fieldType === 'login') {\n cipher.login.username = text;\n } else if (fieldType === 'password') {\n cipher.login.password = text;\n } else if (fieldType === 'notes') {\n cipher.notes += (text + '\\n');\n } else if (fieldType === 'weblogin' || fieldType === 'website') {\n cipher.login.uris = this.makeUriArray(text);\n } else {\n this.processKvp(cipher, name, text);\n }\n });\n }\n\n Array.from(this.querySelectorAllDirectChild(cardEl, 'notes')).forEach((notesEl) => {\n cipher.notes += (notesEl.textContent + '\\n');\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class RoboFormCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let i = 1;\n results.forEach((value) => {\n const folder = !this.isNullOrWhitespace(value.Folder) && value.Folder.startsWith('/') ?\n value.Folder.replace('/', '') : value.Folder;\n const folderName = !this.isNullOrWhitespace(folder) ? folder : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Note);\n cipher.name = this.getValueOrDefault(value.Name, '--');\n cipher.login.username = this.getValueOrDefault(value.Login);\n cipher.login.password = this.getValueOrDefault(value.Pwd);\n cipher.login.uris = this.makeUriArray(value.Url);\n this.cleanupCipher(cipher);\n\n if (i === results.length && cipher.name === '--' && this.isNullOrWhitespace(cipher.login.password)) {\n return;\n }\n result.ciphers.push(cipher);\n i++;\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordSafeXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const passwordSafe = doc.querySelector('passwordsafe');\n if (passwordSafe == null) {\n result.errorMessage = 'Missing `passwordsafe` node.';\n result.success = false;\n return result;\n }\n\n const notesDelimiter = passwordSafe.getAttribute('delimiter');\n const entries = doc.querySelectorAll('passwordsafe > entry');\n Array.from(entries).forEach((entry) => {\n const group = this.querySelectorDirectChild(entry, 'group');\n const groupText = group != null && !this.isNullOrWhitespace(group.textContent) ?\n group.textContent.split('.').join('/') : null;\n this.processFolder(result, groupText);\n\n const title = this.querySelectorDirectChild(entry, 'title');\n const username = this.querySelectorDirectChild(entry, 'username');\n const email = this.querySelectorDirectChild(entry, 'email');\n const password = this.querySelectorDirectChild(entry, 'password');\n const url = this.querySelectorDirectChild(entry, 'url');\n const notes = this.querySelectorDirectChild(entry, 'notes');\n const cipher = this.initLoginCipher();\n cipher.name = title != null ? this.getValueOrDefault(title.textContent, '--') : '--';\n cipher.notes = notes != null ?\n this.getValueOrDefault(notes.textContent, '').split(notesDelimiter).join('\\n') : null;\n cipher.login.username = username != null ? this.getValueOrDefault(username.textContent) : null;\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\n\n if (this.isNullOrWhitespace(cipher.login.username) && email != null) {\n cipher.login.username = this.getValueOrDefault(email.textContent);\n } else if (email != null && !this.isNullOrWhitespace(email.textContent)) {\n cipher.notes = this.isNullOrWhitespace(cipher.notes) ? 'Email: ' + email.textContent\n : (cipher.notes + '\\n' + 'Email: ' + email.textContent);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordDragonXmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const records = doc.querySelectorAll('PasswordManager > record');\n Array.from(records).forEach((record) => {\n const category = this.querySelectorDirectChild(record, 'Category');\n const categoryText = category != null && !this.isNullOrWhitespace(category.textContent) &&\n category.textContent !== 'Unfiled' ? category.textContent : null;\n this.processFolder(result, categoryText);\n\n const accountName = this.querySelectorDirectChild(record, 'Account-Name');\n const userId = this.querySelectorDirectChild(record, 'User-Id');\n const password = this.querySelectorDirectChild(record, 'Password');\n const url = this.querySelectorDirectChild(record, 'URL');\n const notes = this.querySelectorDirectChild(record, 'Notes');\n const cipher = this.initLoginCipher();\n cipher.name = accountName != null ? this.getValueOrDefault(accountName.textContent, '--') : '--';\n cipher.notes = notes != null ? this.getValueOrDefault(notes.textContent) : '';\n cipher.login.username = userId != null ? this.getValueOrDefault(userId.textContent) : null;\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\n\n const attributes: string[] = [];\n for (let i = 1; i <= 10; i++) {\n attributes.push('Attribute-' + i);\n }\n\n this.querySelectorAllDirectChild(record, attributes.join(',')).forEach((attr) => {\n if (this.isNullOrWhitespace(attr.textContent) || attr.textContent === 'null') {\n return;\n }\n this.processKvp(cipher, attr.tagName, attr.textContent);\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class PasswordBossJsonImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.uris = this.makeUriArray(value.login_url);\n\n if (value.identifiers == null) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value.identifiers.notes)) {\n cipher.notes = value.identifiers.notes.split('\\\\r\\\\n').join('\\n').split('\\\\n').join('\\n');\n }\n\n if (value.type === 'CreditCard') {\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n }\n\n for (const property in value.identifiers) {\n if (!value.identifiers.hasOwnProperty(property)) {\n continue;\n }\n const valObj = value.identifiers[property];\n const val = valObj != null ? valObj.toString() : null;\n if (this.isNullOrWhitespace(val) || property === 'notes' || property === 'ignoreItemInSecurityScore') {\n continue;\n }\n\n if (cipher.type === CipherType.Card) {\n if (property === 'cardNumber') {\n cipher.card.number = val;\n cipher.card.brand = this.getCardBrand(val);\n continue;\n } else if (property === 'nameOnCard') {\n cipher.card.cardholderName = val;\n continue;\n } else if (property === 'security_code') {\n cipher.card.code = val;\n continue;\n } else if (property === 'expires') {\n try {\n const expDate = new Date(val);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n continue;\n } else if (property === 'cardType') {\n continue;\n }\n } else {\n if (property === 'username') {\n cipher.login.username = val;\n continue;\n } else if (property === 'password') {\n cipher.login.password = val;\n continue;\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(property) > -1) {\n cipher.login.uris = this.makeUriArray(val);\n continue;\n }\n }\n\n this.processKvp(cipher, property, val);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordAgentCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 9) {\n return;\n }\n const folder = this.getValueOrDefault(value[8], '(None)');\n const folderName = folder !== '(None)' ? folder.split('\\\\').join('/') : null;\n this.processFolder(result, folderName);\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[3]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.login.username = this.getValueOrDefault(value[1]);\n cipher.login.password = this.getValueOrDefault(value[2]);\n cipher.login.uris = this.makeUriArray(value[4]);\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PassKeepCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n this.processFolder(result, this.getValue('category', value));\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValue('description', value);\n cipher.name = this.getValueOrDefault(this.getValue('title', value), '--');\n cipher.login.username = this.getValue('username', value);\n cipher.login.password = this.getValue('password', value);\n cipher.login.uris = this.makeUriArray(this.getValue('site', value));\n this.processKvp(cipher, 'Password 2', this.getValue('password2', value));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n\n private getValue(key: string, value: any) {\n return this.getValueOrDefault(value[key], this.getValueOrDefault(value[(' ' + key)]));\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nexport class PadlockCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let headers: string[] = null;\n results.forEach((value) => {\n if (headers == null) {\n headers = value.map((v: string) => v);\n return;\n }\n\n if (value.length < 2 || value.length !== headers.length) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value[1])) {\n if (this.organization) {\n const tags = (value[1] as string).split(',');\n tags.forEach((tag) => {\n tag = tag.trim();\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === tag) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = tag;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else {\n const tags = (value[1] as string).split(',');\n const tag = tags.length > 0 ? tags[0].trim() : null;\n this.processFolder(result, tag);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n for (let i = 2; i < value.length; i++) {\n const header = headers[i].trim().toLowerCase();\n if (this.isNullOrWhitespace(value[i]) || this.isNullOrWhitespace(header)) {\n continue;\n }\n\n if (this.usernameFieldNames.indexOf(header) > -1) {\n cipher.login.username = value[i];\n } else if (this.passwordFieldNames.indexOf(header) > -1) {\n cipher.login.password = value[i];\n } else if (this.uriFieldNames.indexOf(header) > -1) {\n cipher.login.uris = this.makeUriArray(value[i]);\n } else {\n this.processKvp(cipher, headers[i], value[i]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","export class View {\r\n}\n","export { AttachmentView } from './attachmentView';\r\nexport { CardView } from './cardView';\r\nexport { CipherView } from './cipherView';\r\nexport { FieldView } from './fieldView';\r\nexport { IdentityView } from './identityView';\r\nexport { LoginUriView } from './loginUriView';\r\nexport { LoginView } from './loginView';\r\nexport { SecureNoteView } from './secureNoteView';\r\nexport { View } from './view';\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { CardView } from '../models/view';\n\nconst IgnoredProperties = ['ainfo', 'autosubmit', 'notesPlain', 'ps', 'scope', 'tags', 'title', 'uuid'];\n\nexport class OnePasswordWinCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(value.title)) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.notesPlain, '') + '\\n';\n\n if (!this.isNullOrWhitespace(value.number) && !this.isNullOrWhitespace(value['expiry date'])) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n let altUsername: string = null;\n for (const property in value) {\n if (!value.hasOwnProperty(property) || this.isNullOrWhitespace(value[property])) {\n continue;\n }\n\n if (cipher.type === CipherType.Login) {\n if (this.isNullOrWhitespace(cipher.login.password) && property === 'password') {\n cipher.login.password = value[property];\n continue;\n } else if (this.isNullOrWhitespace(cipher.login.username) && property === 'username') {\n cipher.login.username = value[property];\n continue;\n } else if ((cipher.login.uris == null || cipher.login.uri.length === 0) && property === 'urls') {\n const urls = value[property].split(this.newLineRegex);\n cipher.login.uris = this.makeUriArray(urls);\n continue;\n }\n } else if (cipher.type === CipherType.Card) {\n if (this.isNullOrWhitespace(cipher.card.number) && property === 'number') {\n cipher.card.number = value[property];\n cipher.card.brand = this.getCardBrand(value.number);\n continue;\n } else if (this.isNullOrWhitespace(cipher.card.code) && property === 'verification number') {\n cipher.card.code = value[property];\n continue;\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && property === 'cardholder name') {\n cipher.card.cardholderName = value[property];\n continue;\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && property === 'expiry date' &&\n value[property].length === 6) {\n cipher.card.expMonth = (value[property] as string).substr(4, 2);\n if (cipher.card.expMonth[0] === '0') {\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\n }\n cipher.card.expYear = (value[property] as string).substr(0, 4);\n continue;\n } else if (property === 'type') {\n // Skip since brand was determined from number above\n continue;\n }\n }\n\n if (IgnoredProperties.indexOf(property) === -1 && !property.startsWith('section:')) {\n if (altUsername == null && property === 'email') {\n altUsername = value[property];\n }\n this.processKvp(cipher, property, value[property]);\n }\n }\n\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(altUsername) &&\n this.isNullOrWhitespace(cipher.login.username) && altUsername.indexOf('://') === -1) {\n cipher.login.username = altUsername;\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class OnePassword1PifImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): ImportResult {\n data.split(this.newLineRegex).forEach((line) => {\n if (this.isNullOrWhitespace(line) || line[0] !== '{') {\n return;\n }\n const item = JSON.parse(line);\n const cipher = this.initLoginCipher();\n cipher.favorite = item.openContents && item.openContents.faveIndex ? true : false;\n cipher.name = this.getValueOrDefault(item.title, '--');\n\n if (item.typeName === 'securenotes.SecureNote') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else if (item.typeName === 'wallet.financial.CreditCard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n } else {\n cipher.login.uris = this.makeUriArray(item.location);\n }\n\n if (item.secureContents != null) {\n if (!this.isNullOrWhitespace(item.secureContents.notesPlain)) {\n cipher.notes = item.secureContents.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (item.secureContents.fields != null) {\n this.parseFields(item.secureContents.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.secureContents.sections != null) {\n item.secureContents.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n\n this.result.success = true;\n return this.result;\n }\n\n private parseFields(fields: any[], cipher: CipherView, designationKey: string, valueKey: string, nameKey: string) {\n fields.forEach((field: any) => {\n if (field[valueKey] == null || field[valueKey].toString().trim() === '') {\n return;\n }\n\n const fieldValue = field[valueKey].toString();\n const fieldDesignation = field[designationKey] != null ? field[designationKey].toString() : null;\n\n if (cipher.type === CipherType.Login) {\n if (this.isNullOrWhitespace(cipher.login.username) && fieldDesignation === 'username') {\n cipher.login.username = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.password) && fieldDesignation === 'password') {\n cipher.login.password = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.totp) && fieldDesignation != null &&\n fieldDesignation.startsWith('TOTP_')) {\n cipher.login.totp = fieldValue;\n return;\n }\n } else if (cipher.type === CipherType.Card) {\n if (this.isNullOrWhitespace(cipher.card.number) && fieldDesignation === 'ccnum') {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n return;\n } else if (this.isNullOrWhitespace(cipher.card.code) && fieldDesignation === 'cvv') {\n cipher.card.code = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && fieldDesignation === 'cardholder') {\n cipher.card.cardholderName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && fieldDesignation === 'expiry' &&\n fieldValue.length === 6) {\n cipher.card.expMonth = (fieldValue as string).substr(4, 2);\n if (cipher.card.expMonth[0] === '0') {\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\n }\n cipher.card.expYear = (fieldValue as string).substr(0, 4);\n return;\n } else if (fieldDesignation === 'type') {\n // Skip since brand was determined from number above\n return;\n }\n }\n\n const fieldName = this.isNullOrWhitespace(field[nameKey]) ? 'no_name' : field[nameKey];\n this.processKvp(cipher, fieldName, fieldValue);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class MSecureCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n const folderName = this.getValueOrDefault(value[0], 'Unassigned') !== 'Unassigned' ? value[0] : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[2], '--');\n\n if (value[1] === 'Web Logins') {\n cipher.login.uris = this.makeUriArray(value[4]);\n cipher.login.username = this.getValueOrDefault(value[5]);\n cipher.login.password = this.getValueOrDefault(value[6]);\n cipher.notes = !this.isNullOrWhitespace(value[3]) ? value[3].split('\\\\n').join('\\n') : null;\n } else if (value.length > 3) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n for (let i = 3; i < value.length; i++) {\n if (!this.isNullOrWhitespace(value[i])) {\n cipher.notes += (value[i] + '\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(value[1]) && cipher.type !== CipherType.Login) {\n cipher.name = value[1] + ': ' + cipher.name;\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class MeldiumCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.DisplayName, '--');\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.login.username = this.getValueOrDefault(value.UserName);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.Url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FolderView } from '../models/view/folderView';\nimport { IdentityView } from '../models/view/identityView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class LastPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value, index) => {\n const cipherIndex = result.ciphers.length;\n let folderIndex = result.folders.length;\n const hasFolder = this.getValueOrDefault(value.grouping, '(none)') !== '(none)';\n let addFolder = hasFolder;\n\n if (hasFolder) {\n for (let i = 0; i < result.folders.length; i++) {\n if (result.folders[i].name === value.grouping) {\n addFolder = false;\n folderIndex = i;\n break;\n }\n }\n }\n\n const cipher = this.buildBaseCipher(value);\n if (cipher.type === CipherType.Login) {\n cipher.notes = this.getValueOrDefault(value.extra);\n cipher.login = new LoginView();\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n } else if (cipher.type === CipherType.SecureNote) {\n this.parseSecureNote(value, cipher);\n } else if (cipher.type === CipherType.Card) {\n cipher.card = this.parseCard(value);\n cipher.notes = this.getValueOrDefault(value.notes);\n } else if (cipher.type === CipherType.Identity) {\n cipher.identity = this.parseIdentity(value);\n cipher.notes = this.getValueOrDefault(value.notes);\n if (!this.isNullOrWhitespace(value.ccnum)) {\n // there is a card on this identity too\n const cardCipher = this.buildBaseCipher(value);\n cardCipher.identity = null;\n cardCipher.type = CipherType.Card;\n cardCipher.card = this.parseCard(value);\n result.ciphers.push(cardCipher);\n }\n }\n\n result.ciphers.push(cipher);\n\n if (addFolder) {\n const f = new FolderView();\n f.name = value.grouping;\n result.folders.push(f);\n }\n if (hasFolder) {\n result.folderRelationships.push([cipherIndex, folderIndex]);\n }\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n\n private buildBaseCipher(value: any) {\n const cipher = new CipherView();\n if (value.hasOwnProperty('profilename') && value.hasOwnProperty('profilelanguage')) {\n // form fill\n cipher.favorite = false;\n cipher.name = this.getValueOrDefault(value.profilename, '--');\n cipher.type = CipherType.Card;\n\n if (!this.isNullOrWhitespace(value.title) || !this.isNullOrWhitespace(value.firstname) ||\n !this.isNullOrWhitespace(value.lastname) || !this.isNullOrWhitespace(value.address1) ||\n !this.isNullOrWhitespace(value.phone) || !this.isNullOrWhitespace(value.username) ||\n !this.isNullOrWhitespace(value.email)) {\n cipher.type = CipherType.Identity;\n }\n } else {\n // site or secure note\n cipher.favorite = !this.organization && this.getValueOrDefault(value.fav, '0') === '1';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.type = value.url === 'http://sn' ? CipherType.SecureNote : CipherType.Login;\n }\n return cipher;\n }\n\n private parseCard(value: any): CardView {\n const card = new CardView();\n card.cardholderName = this.getValueOrDefault(value.ccname);\n card.number = this.getValueOrDefault(value.ccnum);\n card.code = this.getValueOrDefault(value.cccsc);\n card.brand = this.getCardBrand(value.ccnum);\n\n if (!this.isNullOrWhitespace(value.ccexp) && value.ccexp.indexOf('-') > -1) {\n const ccexpParts = (value.ccexp as string).split('-');\n if (ccexpParts.length > 1) {\n card.expYear = ccexpParts[0];\n card.expMonth = ccexpParts[1];\n if (card.expMonth.length === 2 && card.expMonth[0] === '0') {\n card.expMonth = card.expMonth[1];\n }\n }\n }\n\n return card;\n }\n\n private parseIdentity(value: any): IdentityView {\n const identity = new IdentityView();\n identity.title = this.getValueOrDefault(value.title);\n identity.firstName = this.getValueOrDefault(value.firstname);\n identity.middleName = this.getValueOrDefault(value.middlename);\n identity.lastName = this.getValueOrDefault(value.lastname);\n identity.username = this.getValueOrDefault(value.username);\n identity.company = this.getValueOrDefault(value.company);\n identity.ssn = this.getValueOrDefault(value.ssn);\n identity.address1 = this.getValueOrDefault(value.address1);\n identity.address2 = this.getValueOrDefault(value.address2);\n identity.address3 = this.getValueOrDefault(value.address3);\n identity.city = this.getValueOrDefault(value.city);\n identity.state = this.getValueOrDefault(value.state);\n identity.postalCode = this.getValueOrDefault(value.zip);\n identity.country = this.getValueOrDefault(value.country);\n identity.email = this.getValueOrDefault(value.email);\n identity.phone = this.getValueOrDefault(value.phone);\n\n if (!this.isNullOrWhitespace(identity.title)) {\n identity.title = identity.title.charAt(0).toUpperCase() + identity.title.slice(1);\n }\n\n return identity;\n }\n\n private parseSecureNote(value: any, cipher: CipherView) {\n const extraParts = this.splitNewLine(value.extra);\n let processedNote = false;\n\n if (extraParts.length) {\n const typeParts = extraParts[0].split(':');\n if (typeParts.length > 1 && typeParts[0] === 'NoteType' &&\n (typeParts[1] === 'Credit Card' || typeParts[1] === 'Address')) {\n if (typeParts[1] === 'Credit Card') {\n const mappedData = this.parseSecureNoteMapping(extraParts, {\n 'Number': 'number',\n 'Name on Card': 'cardholderName',\n 'Security Code': 'code',\n });\n cipher.type = CipherType.Card;\n cipher.card = mappedData[0];\n cipher.notes = mappedData[1];\n } else if (typeParts[1] === 'Address') {\n const mappedData = this.parseSecureNoteMapping(extraParts, {\n 'Title': 'title',\n 'First Name': 'firstName',\n 'Last Name': 'lastName',\n 'Middle Name': 'middleName',\n 'Company': 'company',\n 'Address 1': 'address1',\n 'Address 2': 'address2',\n 'Address 3': 'address3',\n 'City / Town': 'city',\n 'State': 'state',\n 'Zip / Postal Code': 'postalCode',\n 'Country': 'country',\n 'Email Address': 'email',\n 'Username': 'username',\n });\n cipher.type = CipherType.Identity;\n cipher.identity = mappedData[0];\n cipher.notes = mappedData[1];\n }\n processedNote = true;\n }\n }\n\n if (!processedNote) {\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.notes = this.getValueOrDefault(value.extra);\n }\n }\n\n private parseSecureNoteMapping(extraParts: string[], map: any): [T, string] {\n let notes: string = null;\n const dataObj: any = {};\n\n extraParts.forEach((extraPart) => {\n const fieldParts = extraPart.split(':');\n if (fieldParts.length < 1 || this.isNullOrWhitespace(fieldParts[0]) ||\n this.isNullOrWhitespace(fieldParts[1]) || fieldParts[0] === 'NoteType') {\n return;\n }\n\n if (fieldParts[0] === 'Notes') {\n if (!this.isNullOrWhitespace(notes)) {\n notes += ('\\n' + fieldParts[1]);\n } else {\n notes = fieldParts[1];\n }\n } else if (map.hasOwnProperty(fieldParts[0])) {\n dataObj[map[fieldParts[0]]] = fieldParts[1];\n } else {\n if (!this.isNullOrWhitespace(notes)) {\n notes += '\\n';\n } else {\n notes = '';\n }\n\n notes += (fieldParts[0] + ': ' + fieldParts[1]);\n }\n });\n\n return [dataObj as T, notes];\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeeperCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 6) {\n return;\n }\n\n this.processFolder(result, value[0]);\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[5]) + '\\n';\n cipher.name = this.getValueOrDefault(value[1], '--');\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n\n if (value.length > 7) {\n // we have some custom fields.\n for (let i = 7; i < value.length; i = i + 2) {\n this.processKvp(cipher, value[i], value[i + 1]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class KeePassXCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(value.Title)) {\n return;\n }\n\n value.Group = !this.isNullOrWhitespace(value.Group) && value.Group.startsWith('Root/') ?\n value.Group.replace('Root/', '') : value.Group;\n const groupName = !this.isNullOrWhitespace(value.Group) ? value.Group : null;\n this.processFolder(result, groupName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.name = this.getValueOrDefault(value.Title, '--');\n cipher.login.username = this.getValueOrDefault(value.Username);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.URL);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeePass2XmlImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): ImportResult {\n const doc = this.parseXml(data);\n if (doc == null) {\n this.result.success = false;\n return this.result;\n }\n\n const rootGroup = doc.querySelector('KeePassFile > Root > Group');\n if (rootGroup == null) {\n this.result.errorMessage = 'Missing `KeePassFile > Root > Group` node.';\n this.result.success = false;\n return this.result;\n }\n\n this.traverse(rootGroup, true, '');\n\n if (this.organization) {\n this.moveFoldersToCollections(this.result);\n }\n\n this.result.success = true;\n return this.result;\n }\n\n traverse(node: Element, isRootNode: boolean, groupPrefixName: string) {\n const folderIndex = this.result.folders.length;\n let groupName = groupPrefixName;\n\n if (!isRootNode) {\n if (groupName !== '') {\n groupName += '/';\n }\n const nameEl = this.querySelectorDirectChild(node, 'Name');\n groupName += nameEl == null ? '-' : nameEl.textContent;\n const folder = new FolderView();\n folder.name = groupName;\n this.result.folders.push(folder);\n }\n\n this.querySelectorAllDirectChild(node, 'Entry').forEach((entry) => {\n const cipherIndex = this.result.ciphers.length;\n\n const cipher = this.initLoginCipher();\n this.querySelectorAllDirectChild(entry, 'String').forEach((entryString) => {\n const valueEl = this.querySelectorDirectChild(entryString, 'Value');\n const value = valueEl != null ? valueEl.textContent : null;\n if (this.isNullOrWhitespace(value)) {\n return;\n }\n const keyEl = this.querySelectorDirectChild(entryString, 'Key');\n const key = keyEl != null ? keyEl.textContent : null;\n\n if (key === 'URL') {\n cipher.login.uris = this.makeUriArray(value);\n } else if (key === 'UserName') {\n cipher.login.username = value;\n } else if (key === 'Password') {\n cipher.login.password = value;\n } else if (key === 'Title') {\n cipher.name = value;\n } else if (key === 'Notes') {\n cipher.notes += (value + '\\n');\n } else {\n this.processKvp(cipher, key, value);\n }\n });\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n\n if (!isRootNode) {\n this.result.folderRelationships.push([cipherIndex, folderIndex]);\n }\n });\n\n this.querySelectorAllDirectChild(node, 'Group').forEach((group) => {\n this.traverse(group, false, groupName);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class GnomeJsonImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || Object.keys(results).length === 0) {\n result.success = false;\n return result;\n }\n\n for (const keyRing in results) {\n if (!results.hasOwnProperty(keyRing) || this.isNullOrWhitespace(keyRing) ||\n results[keyRing].length === 0) {\n continue;\n }\n\n results[keyRing].forEach((value: any) => {\n if (this.isNullOrWhitespace(value.display_name) || value.display_name.indexOf('http') !== 0) {\n return;\n }\n\n this.processFolder(result, keyRing);\n const cipher = this.initLoginCipher();\n cipher.name = value.display_name.replace('http://', '').replace('https://', '');\n if (cipher.name.length > 30) {\n cipher.name = cipher.name.substring(0, 30);\n }\n cipher.login.password = this.getValueOrDefault(value.secret);\n cipher.login.uris = this.makeUriArray(value.display_name);\n\n if (value.attributes != null) {\n cipher.login.username = value.attributes != null ?\n this.getValueOrDefault(value.attributes.username_value) : null;\n for (const attr in value.attributes) {\n if (!value.attributes.hasOwnProperty(attr) || attr === 'username_value' ||\n attr === 'xdg:schema') {\n continue;\n }\n this.processKvp(cipher, attr, value.attributes[attr]);\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class FirefoxCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.hostname), '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.hostname);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class EnpassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n let firstRow = true;\n results.forEach((value) => {\n if (value.length < 2 || (firstRow && value[0] === 'Title')) {\n firstRow = false;\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2 || (value.indexOf('Username') < 0 && value.indexOf('Password') < 0 &&\n value.indexOf('Email') && value.indexOf('URL') < 0)) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n\n if (value.indexOf('Cardholder') > -1 && value.indexOf('Number') > -1 && value.indexOf('Expiry date') > -1) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n if (value.length > 2 && (value.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const fieldValue: string = value[i + 2];\n if (this.isNullOrWhitespace(fieldValue)) {\n continue;\n }\n\n const fieldName: string = value[i + 1];\n const fieldNameLower = fieldName.toLowerCase();\n\n if (cipher.type === CipherType.Login) {\n if (fieldNameLower === 'url' && (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.login.uris = this.makeUriArray(fieldValue);\n continue;\n } else if ((fieldNameLower === 'username' || fieldNameLower === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = fieldValue;\n continue;\n } else if (fieldNameLower === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = fieldValue;\n continue;\n } else if (fieldNameLower === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = fieldValue;\n continue;\n }\n } else if (cipher.type === CipherType.Card) {\n if (fieldNameLower === 'cardholder' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = fieldValue;\n continue;\n } else if (fieldNameLower === 'number' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n continue;\n } else if (fieldNameLower === 'cvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = fieldValue;\n continue;\n } else if (fieldNameLower === 'expiry date' && this.isNullOrWhitespace(cipher.card.expMonth) &&\n this.isNullOrWhitespace(cipher.card.expYear)) {\n const parts = fieldValue.split('/');\n if (parts.length === 2) {\n let month: string = null;\n let year: string = null;\n if (parts[0].length === 1 || parts[0].length === 2) {\n month = parts[0];\n if (month.length === 2 && month[0] === '0') {\n month = month.substr(1, 1);\n }\n }\n if (parts[1].length === 2 || parts[1].length === 4) {\n year = month.length === 2 ? '20' + parts[1] : parts[1];\n }\n if (month != null && year != null) {\n cipher.card.expMonth = month;\n cipher.card.expYear = year;\n continue;\n }\n }\n } else if (fieldNameLower === 'type') {\n // Skip since brand was determined from number above\n continue;\n }\n }\n\n this.processKvp(cipher, fieldName, fieldValue);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class DashlaneCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n let skip = false;\n if (value.length < 2) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2) {\n cipher.login.uris = this.makeUriArray(value[1]);\n } else if (value.length === 3) {\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.username = this.getValueOrDefault(value[2]);\n } else if (value.length === 4) {\n if (this.isNullOrWhitespace(value[2]) && this.isNullOrWhitespace(value[3])) {\n cipher.login.username = value[1];\n cipher.notes = value[2] + '\\n' + value[3];\n } else {\n cipher.login.username = value[2];\n cipher.notes = value[1] + '\\n' + value[3];\n }\n } else if (value.length === 5) {\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4]);\n } else if (value.length === 6) {\n if (this.isNullOrWhitespace(value[2])) {\n cipher.login.username = this.getValueOrDefault(value[3]);\n cipher.login.password = this.getValueOrDefault(value[4]);\n cipher.notes = this.getValueOrDefault(value[5]);\n } else {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[5], '');\n }\n cipher.login.uris = this.makeUriArray(value[1]);\n } else if (value.length === 7) {\n if (this.isNullOrWhitespace(value[2])) {\n cipher.login.username = this.getValueOrDefault(value[3]);\n cipher.notes = this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[6], '');\n } else {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.notes = this.getValueOrDefault(value[3], '') + '\\n' +\n this.getValueOrDefault(value[4], '') + '\\n' + this.getValueOrDefault(value[6], '');\n }\n cipher.login.uris = this.makeUriArray(value[1]);\n cipher.login.password = this.getValueOrDefault(value[5]);\n } else {\n for (let i = 1; i < value.length; i++) {\n cipher.notes += (value[i] + '\\n');\n if (value[i] === 'NO_TYPE') {\n skip = true;\n break;\n }\n }\n }\n\n if (skip) {\n return;\n }\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = null;\n }\n if (this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = null;\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ClipperzHtmlImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return result;\n }\n\n const textarea = doc.querySelector('textarea');\n if (textarea == null || this.isNullOrWhitespace(textarea.textContent)) {\n result.errorMessage = 'Missing textarea.';\n result.success = false;\n return result;\n }\n\n const entries = JSON.parse(textarea.textContent);\n entries.forEach((entry: any) => {\n const cipher = this.initLoginCipher();\n if (!this.isNullOrWhitespace(entry.label)) {\n cipher.name = entry.label.split(' ')[0];\n }\n if (entry.data != null && !this.isNullOrWhitespace(entry.data.notes)) {\n cipher.notes = entry.data.notes.split('\\\\n').join('\\n');\n }\n\n if (entry.currentVersion != null && entry.currentVersion.fields != null) {\n for (const property in entry.currentVersion.fields) {\n if (!entry.currentVersion.fields.hasOwnProperty(property)) {\n continue;\n }\n\n const field = entry.currentVersion.fields[property];\n const actionType = field.actionType != null ? field.actionType.toLowerCase() : null;\n switch (actionType) {\n case 'password':\n cipher.login.password = this.getValueOrDefault(field.value);\n break;\n case 'email':\n case 'username':\n case 'user':\n case 'name':\n cipher.login.username = this.getValueOrDefault(field.value);\n break;\n case 'url':\n cipher.login.uris = this.makeUriArray(field.value);\n break;\n default:\n const labelLower = field.label != null ? field.label.toLowerCase() : null;\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(labelLower) > -1) {\n cipher.login.password = this.getValueOrDefault(field.value);\n } else if (cipher.login.username == null &&\n this.usernameFieldNames.indexOf(labelLower) > -1) {\n cipher.login.username = this.getValueOrDefault(field.value);\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(labelLower) > -1) {\n cipher.login.uris = this.makeUriArray(field.value);\n } else {\n this.processKvp(cipher, field.label, field.value);\n }\n break;\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ChromeCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class BlurCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.label === 'null') {\n value.label = null;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.label,\n this.getValueOrDefault(this.nameFromUrl(value.domain), '--'));\n cipher.login.uris = this.makeUriArray(value.domain);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.email) && !this.isNullOrWhitespace(value.username)) {\n cipher.login.username = value.username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.email);\n cipher.notes = this.getValueOrDefault(value.username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FieldView } from '../models/view/fieldView';\nimport { FolderView } from '../models/view/folderView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class BitwardenCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (this.organization && !this.isNullOrWhitespace(value.collections)) {\n const collections = (value.collections as string).split(',');\n collections.forEach((col) => {\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === col) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = col;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else if (!this.organization) {\n this.processFolder(result, value.folder);\n }\n\n const cipher = new CipherView();\n cipher.favorite = !this.organization && this.getValueOrDefault(value.favorite, '0') !== '0' ? true : false;\n cipher.type = CipherType.Login;\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.name = this.getValueOrDefault(value.name, '--');\n\n if (!this.isNullOrWhitespace(value.fields)) {\n const fields = this.splitNewLine(value.fields);\n for (let i = 0; i < fields.length; i++) {\n if (this.isNullOrWhitespace(fields[i])) {\n continue;\n }\n\n const delimPosition = fields[i].lastIndexOf(': ');\n if (delimPosition === -1) {\n continue;\n }\n\n if (cipher.fields == null) {\n cipher.fields = [];\n }\n\n const field = new FieldView();\n field.name = fields[i].substr(0, delimPosition);\n field.value = null;\n field.type = FieldType.Text;\n if (fields[i].length > (delimPosition + 2)) {\n field.value = fields[i].substr(delimPosition + 2);\n }\n cipher.fields.push(field);\n }\n }\n\n const valueType = value.type != null ? value.type.toLowerCase() : null;\n switch (valueType) {\n case 'login':\n case null:\n cipher.type = CipherType.Login;\n cipher.login = new LoginView();\n cipher.login.totp = this.getValueOrDefault(value.login_totp || value.totp);\n cipher.login.username = this.getValueOrDefault(value.login_username || value.username);\n cipher.login.password = this.getValueOrDefault(value.login_password || value.password);\n const uris = this.parseSingleRowCsv(value.login_uri || value.uri);\n cipher.login.uris = this.makeUriArray(uris);\n break;\n case 'note':\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n break;\n default:\n break;\n }\n\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AviraCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name,\n this.getValueOrDefault(this.nameFromUrl(value.website), '--'));\n cipher.login.uris = this.makeUriArray(value.website);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.username) && !this.isNullOrWhitespace(value.secondary_username)) {\n cipher.login.username = value.secondary_username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.notes = this.getValueOrDefault(value.secondary_username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AscendoCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (value.length < 2) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length > 2 && (value.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const val: string = value[i + 2];\n const field: string = value[i + 1];\n if (this.isNullOrWhitespace(val) || this.isNullOrWhitespace(field)) {\n continue;\n }\n\n const fieldLower = field.toLowerCase();\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.password = this.getValueOrDefault(val);\n } else if (cipher.login.username == null &&\n this.usernameFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.username = this.getValueOrDefault(val);\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.uris = this.makeUriArray(val);\n } else {\n this.processKvp(cipher, field, val);\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n}\n","import { CipherRequest } from './cipherRequest';\nimport { FolderRequest } from './folderRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportCiphersRequest {\n ciphers: CipherRequest[] = [];\n folders: FolderRequest[] = [];\n folderRelationships: Array> = [];\n}\n","
\r\n
\r\n
\r\n \r\n
\r\n
{{'reports' | i18n}}
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationCreateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n planType: PlanType;\n key: string;\n paymentToken: string;\n additionalSeats: number;\n additionalStorageGb: number;\n collectionName: string;\n country: string;\n}\n","
\n

{{'newOrganization' | i18n}}

\n
\n

{{'newOrganizationDesc' | i18n}}

\n\n

{{'uploadLicenseFileOrg' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_organization_license.json'}}\n
\n \n
\n
\n
\n

{{'generalInformation' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n

{{'chooseYourPlan' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n \n

{{'users' | i18n}}

\n
\n
\n \n \n {{'userSeatsHowManyDesc' | i18n}}\n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'userSeatsAdditionalDesc' | i18n : plans[plan].baseSeats : (plans[plan].seatPrice | currency:'$')}}\n
\n
\n
\n
\n \n \n {{'additionalStorageDesc' | i18n : '1 GB' : (storageGb.price | currency:'$')}}\n
\n
\n

{{'summary' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{interval | i18n}}\n
\n {{'paymentChargedWithTrial' | i18n : (interval | i18n) }}\n

{{'paymentInformation' | i18n}}

\n \n
\n
\n \n
\n
\n","export class PaymentRequest {\n paymentToken: string;\n}\n","export class StorageRequest {\n storageGbAdjustment: number;\n}\n","
\n

\n {{'billingAndLicensing' | i18n}}\n \n \n \n

\n
\n\n\n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'subscription' | i18n}}
\n
{{'premiumMembership' | i18n}}
\n
\n
\n
{{'expiration' | i18n}}
\n
{{billing.expiration | date:'mediumDate'}}
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'status' | i18n}}
\n
\n {{(subscription && subscription.status) || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$')) :\n '-'}}\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : billing.maxStorageGb || 0 : billing.storageName || '0 MB'}}

\n
\n
{{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n

\n \n {{paymentSource.description}}\n

\n \n \n \n

{{'charges' | i18n}}

\n

{{'noCharges' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{c.createdDate | date:'mediumDate'}}{{c.paymentSource ? c.paymentSource.description : '-'}}{{c.status}}{{c.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n
\n","
\n

{{'goPremium' | i18n}}

\n
\n\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n
    \n
  • \n \n {{'premiumSignUpStorage' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTwoStep' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTotp' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpSupport' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpFuture' | i18n}}\n
  • \n
\n

{{'premiumPrice' | i18n : (premiumPrice | currency:'$')}}

\n \n {{'purchasePremium' | i18n}}\n \n
\n\n

{{'uploadLicenseFilePremium' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_premium_license.json'}}\n
\n \n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'additionalStorageDesc' | i18n : '1 GB' : (storageGbPrice | currency:'$')}}\n
\n
\n

{{'summary' | i18n}}

\n {{'premiumMembership' | i18n}}: {{premiumPrice | currency:'$'}}\n
{{'additionalStorageGb' | i18n}}: {{additionalStorage || 0}} GB × {{storageGbPrice | currency:'$'}} = {{additionalStorageTotal\n | currency:'$'}}\n
\n
\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{'year' | i18n}}\n
\n {{'paymentChargedAnnually' | i18n}}\n

{{'paymentInformation' | i18n}}

\n \n \n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorYubioOtpRequest extends PasswordVerificationRequest {\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fRequest extends PasswordVerificationRequest {\n deviceResponse: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorEmailRequest extends PasswordVerificationRequest {\n token: string;\n email: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorDuoRequest extends PasswordVerificationRequest {\n integrationKey: string;\n secretKey: string;\n host: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderRequest extends PasswordVerificationRequest {\n type: TwoFactorProviderType;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorAuthenticatorRequest extends PasswordVerificationRequest {\n token: string;\n key: string;\n}\n","export class UpdateDomainsRequest {\n equivalentDomains: string[][];\n excludedGlobalEquivalentDomains: number[];\n}\n","
\n

{{'domainRules' | i18n}}

\n
\n

{{'domainRulesDesc' | i18n}}

\n
\n

{{'customEqDomains' | i18n}}

\n

\n \n

\n \n
\n
\n \n \n
\n \n
\n \n {{'newCustomDomainDesc' | i18n}}\n
\n \n

{{'globalEqDomains' | i18n}}

\n

\n \n

\n 0\">\n \n \n \n \n \n \n
{{d.domains}}\n \n
\n \n
\n","
\n

{{'options' | i18n}}

\n
\n

{{'optionsDesc' | i18n}}

\n
\n
\n
\n
\n
\n \n \n \n \n
\n \n {{'languageDesc' | i18n}}\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n {{'disableIconsDesc' | i18n}}\n
\n \n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class PasswordRequest extends PasswordVerificationRequest {\n newMasterPasswordHash: string;\n key: string;\n}\n","{{'loggedOutWarning' | i18n}}\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n","import { EmailTokenRequest } from './emailTokenRequest';\n\nexport class EmailRequest extends EmailTokenRequest {\n newMasterPasswordHash: string;\n token: string;\n key: string;\n}\n","
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n

{{'changeEmailDesc' | i18n : newEmail}}

\n {{'loggedOutWarning' | i18n}}\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n","export class UpdateProfileRequest {\n name: string;\n masterPasswordHint: string;\n culture = 'en-US'; // deprecated\n\n constructor(name: string, masterPasswordHint: string) {\n this.name = name;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n }\n}\n","
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n","
\n

{{'myAccount' | i18n}}

\n
\n\n
\n

{{'changeEmail' | i18n}}

\n
\n\n
\n

{{'changeMasterPassword' | i18n}}

\n
\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n \n
\n
\n\n\n\n","\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { FolderView } from '../../models/view/folderView';\n\nexport class FolderAddEditComponent implements OnInit {\n @Input() folderId: string;\n @Output() onSavedFolder = new EventEmitter();\n @Output() onDeletedFolder = new EventEmitter();\n\n editMode: boolean = false;\n folder: FolderView = new FolderView();\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n\n constructor(protected folderService: FolderService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.folderId != null;\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editFolder');\n const folder = await this.folderService.get(this.folderId);\n this.folder = await folder.decrypt();\n } else {\n this.title = this.i18nService.t('addFolder');\n }\n }\n\n async submit(): Promise {\n if (this.folder.name == null || this.folder.name === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n try {\n const folder = await this.folderService.encrypt(this.folder);\n this.formPromise = this.folderService.saveWithServer(folder);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Folder' : 'Added Folder' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedFolder' : 'addedFolder'));\n this.onSavedFolder.emit(this.folder);\n return true;\n } catch { }\n\n return false;\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteFolderConfirmation'), this.i18nService.t('deleteFolder'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.folderService.deleteWithServer(this.folder.id);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Folder' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedFolder'));\n this.onDeletedFolder.emit(this.folder);\n } catch { }\n\n return true;\n }\n}\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { TokenService } from '../../abstractions/token.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { AttachmentView } from '../../models/view/attachmentView';\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class AttachmentsComponent implements OnInit {\n @Input() cipherId: string;\n @Output() onUploadedAttachment = new EventEmitter();\n @Output() onDeletedAttachment = new EventEmitter();\n\n cipher: CipherView;\n cipherDomain: Cipher;\n hasUpdatedKey: boolean;\n canAccessAttachments: boolean;\n formPromise: Promise;\n deletePromises: { [id: string]: Promise; } = {};\n\n constructor(protected cipherService: CipherService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected cryptoService: CryptoService, protected tokenService: TokenService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window) { }\n\n async ngOnInit() {\n this.cipherDomain = await this.loadCipher();\n this.cipher = await this.cipherDomain.decrypt();\n\n this.hasUpdatedKey = await this.cryptoService.hasEncKey();\n const isPremium = this.tokenService.getPremium();\n this.canAccessAttachments = isPremium || this.cipher.organizationId != null;\n\n if (!this.canAccessAttachments) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.platformUtilsService.launchUri('https://vault.bitwarden.com/#/?premium=purchase');\n }\n } else if (!this.hasUpdatedKey) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateKey'), this.i18nService.t('featureUnavailable'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'), 'warning');\n if (confirmed) {\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/update-encryption-key/');\n }\n }\n }\n\n async submit() {\n if (!this.hasUpdatedKey) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('updateKey'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n if (files[0].size > 104857600) { // 100 MB\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('maxFileSize'));\n return;\n }\n\n try {\n this.formPromise = this.saveCipherAttachment(files[0]);\n this.cipherDomain = await this.formPromise;\n this.cipher = await this.cipherDomain.decrypt();\n this.analytics.eventTrack.next({ action: 'Added Attachment' });\n this.toasterService.popAsync('success', null, this.i18nService.t('attachmentSaved'));\n this.onUploadedAttachment.emit();\n } catch { }\n\n // reset file input\n // ref: https://stackoverflow.com/a/20552042\n fileEl.type = '';\n fileEl.type = 'file';\n fileEl.value = '';\n }\n\n async delete(attachment: AttachmentView) {\n if (this.deletePromises[attachment.id] != null) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteAttachmentConfirmation'), this.i18nService.t('deleteAttachment'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n this.analytics.eventTrack.next({ action: 'Deleted Attachment' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedAttachment'));\n const i = this.cipher.attachments.indexOf(attachment);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n } catch { }\n\n this.deletePromises[attachment.id] = null;\n this.onDeletedAttachment.emit();\n }\n\n async download(attachment: AttachmentView) {\n const a = (attachment as any);\n if (a.downloading) {\n return;\n }\n\n if (!this.canAccessAttachments) {\n this.toasterService.popAsync('error', this.i18nService.t('premiumRequired'),\n this.i18nService.t('premiumRequiredDesc'));\n return;\n }\n\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-cache' }));\n if (response.status !== 200) {\n this.toasterService.popAsync('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const key = await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.platformUtilsService.saveFile(this.win, decBuf, null, attachment.fileName);\n } catch (e) {\n this.toasterService.popAsync('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n return this.cipherService.deleteAttachmentWithServer(this.cipher.id, attachmentId);\n }\n}\n","import {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { FieldType } from '../../enums/fieldType';\nimport { SecureNoteType } from '../../enums/secureNoteType';\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nimport { AuditService } from '../../abstractions/audit.service';\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { CardView } from '../../models/view/cardView';\nimport { CipherView } from '../../models/view/cipherView';\nimport { FieldView } from '../../models/view/fieldView';\nimport { FolderView } from '../../models/view/folderView';\nimport { IdentityView } from '../../models/view/identityView';\nimport { LoginUriView } from '../../models/view/loginUriView';\nimport { LoginView } from '../../models/view/loginView';\nimport { SecureNoteView } from '../../models/view/secureNoteView';\n\nexport class AddEditComponent {\n @Input() folderId: string = null;\n @Input() cipherId: string;\n @Input() type: CipherType;\n @Output() onSavedCipher = new EventEmitter();\n @Output() onDeletedCipher = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n @Output() onEditAttachments = new EventEmitter();\n @Output() onGeneratePassword = new EventEmitter();\n\n editMode: boolean = false;\n cipher: CipherView;\n folders: FolderView[];\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n checkPasswordPromise: Promise;\n showPassword: boolean = false;\n showCardCode: boolean = false;\n cipherType = CipherType;\n fieldType = FieldType;\n addFieldType: FieldType = FieldType.Text;\n typeOptions: any[];\n cardBrandOptions: any[];\n cardExpMonthOptions: any[];\n identityTitleOptions: any[];\n addFieldTypeOptions: any[];\n uriMatchOptions: any[];\n\n constructor(protected cipherService: CipherService, protected folderService: FolderService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected auditService: AuditService, protected stateService: StateService) {\n this.typeOptions = [\n { name: i18nService.t('typeLogin'), value: CipherType.Login },\n { name: i18nService.t('typeCard'), value: CipherType.Card },\n { name: i18nService.t('typeIdentity'), value: CipherType.Identity },\n { name: i18nService.t('typeSecureNote'), value: CipherType.SecureNote },\n ];\n this.cardBrandOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: 'Visa', value: 'Visa' },\n { name: 'Mastercard', value: 'Mastercard' },\n { name: 'American Express', value: 'Amex' },\n { name: 'Discover', value: 'Discover' },\n { name: 'Diners Club', value: 'Diners Club' },\n { name: 'JCB', value: 'JCB' },\n { name: 'Maestro', value: 'Maestro' },\n { name: 'UnionPay', value: 'UnionPay' },\n { name: i18nService.t('other'), value: 'Other' },\n ];\n this.cardExpMonthOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: '01 - ' + i18nService.t('january'), value: '1' },\n { name: '02 - ' + i18nService.t('february'), value: '2' },\n { name: '03 - ' + i18nService.t('march'), value: '3' },\n { name: '04 - ' + i18nService.t('april'), value: '4' },\n { name: '05 - ' + i18nService.t('may'), value: '5' },\n { name: '06 - ' + i18nService.t('june'), value: '6' },\n { name: '07 - ' + i18nService.t('july'), value: '7' },\n { name: '08 - ' + i18nService.t('august'), value: '8' },\n { name: '09 - ' + i18nService.t('september'), value: '9' },\n { name: '10 - ' + i18nService.t('october'), value: '10' },\n { name: '11 - ' + i18nService.t('november'), value: '11' },\n { name: '12 - ' + i18nService.t('december'), value: '12' },\n ];\n this.identityTitleOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: i18nService.t('mr'), value: i18nService.t('mr') },\n { name: i18nService.t('mrs'), value: i18nService.t('mrs') },\n { name: i18nService.t('ms'), value: i18nService.t('ms') },\n { name: i18nService.t('dr'), value: i18nService.t('dr') },\n ];\n this.addFieldTypeOptions = [\n { name: i18nService.t('cfTypeText'), value: FieldType.Text },\n { name: i18nService.t('cfTypeHidden'), value: FieldType.Hidden },\n { name: i18nService.t('cfTypeBoolean'), value: FieldType.Boolean },\n ];\n this.uriMatchOptions = [\n { name: i18nService.t('defaultMatchDetection'), value: null },\n { name: i18nService.t('baseDomain'), value: UriMatchType.Domain },\n { name: i18nService.t('host'), value: UriMatchType.Host },\n { name: i18nService.t('startsWith'), value: UriMatchType.StartsWith },\n { name: i18nService.t('regEx'), value: UriMatchType.RegularExpression },\n { name: i18nService.t('exact'), value: UriMatchType.Exact },\n { name: i18nService.t('never'), value: UriMatchType.Never },\n ];\n }\n\n async load() {\n this.editMode = this.cipherId != null;\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editItem');\n } else {\n this.title = this.i18nService.t('addItem');\n }\n\n this.cipher = await this.stateService.get('addEditCipher');\n await this.stateService.remove('addEditCipher');\n if (this.cipher == null) {\n if (this.editMode) {\n const cipher = await this.loadCipher();\n this.cipher = await cipher.decrypt();\n } else {\n this.cipher = new CipherView();\n this.cipher.folderId = this.folderId;\n this.cipher.type = this.type == null ? CipherType.Login : this.type;\n this.cipher.login = new LoginView();\n this.cipher.login.uris = [new LoginUriView()];\n this.cipher.card = new CardView();\n this.cipher.identity = new IdentityView();\n this.cipher.secureNote = new SecureNoteView();\n this.cipher.secureNote.type = SecureNoteType.Generic;\n }\n }\n\n this.folders = await this.folderService.getAllDecrypted();\n }\n\n async submit(): Promise {\n if (this.cipher.name == null || this.cipher.name === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n if (!this.editMode && this.cipher.type === CipherType.Login &&\n this.cipher.login.uris != null && this.cipher.login.uris.length === 1 &&\n (this.cipher.login.uris[0].uri == null || this.cipher.login.uris[0].uri === '')) {\n this.cipher.login.uris = null;\n }\n\n const cipher = await this.encryptCipher();\n try {\n this.formPromise = this.saveCipher(cipher);\n await this.formPromise;\n this.cipher.id = cipher.id;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Cipher' : 'Added Cipher' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedItem' : 'addedItem'));\n this.onSavedCipher.emit(this.cipher);\n return true;\n } catch { }\n\n return false;\n }\n\n addUri() {\n if (this.cipher.type !== CipherType.Login) {\n return;\n }\n\n if (this.cipher.login.uris == null) {\n this.cipher.login.uris = [];\n }\n\n this.cipher.login.uris.push(new LoginUriView());\n }\n\n removeUri(uri: LoginUriView) {\n if (this.cipher.type !== CipherType.Login || this.cipher.login.uris == null) {\n return;\n }\n\n const i = this.cipher.login.uris.indexOf(uri);\n if (i > -1) {\n this.cipher.login.uris.splice(i, 1);\n }\n }\n\n addField() {\n if (this.cipher.fields == null) {\n this.cipher.fields = [];\n }\n\n const f = new FieldView();\n f.type = this.addFieldType;\n this.cipher.fields.push(f);\n }\n\n removeField(field: FieldView) {\n const i = this.cipher.fields.indexOf(field);\n if (i > -1) {\n this.cipher.fields.splice(i, 1);\n }\n }\n\n cancel() {\n this.onCancelled.emit(this.cipher);\n }\n\n attachments() {\n this.onEditAttachments.emit(this.cipher);\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteItemConfirmation'), this.i18nService.t('deleteItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.deleteCipher();\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedItem'));\n this.onDeletedCipher.emit(this.cipher);\n } catch { }\n\n return true;\n }\n\n async generatePassword(): Promise {\n if (this.cipher.login != null && this.cipher.login.password != null && this.cipher.login.password.length) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('overwritePasswordConfirmation'), this.i18nService.t('overwritePassword'),\n this.i18nService.t('yes'), this.i18nService.t('no'));\n if (!confirmed) {\n return false;\n }\n }\n\n this.onGeneratePassword.emit();\n return true;\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Password on Edit' });\n this.showPassword = !this.showPassword;\n document.getElementById('loginPassword').focus();\n }\n\n toggleCardCode() {\n this.analytics.eventTrack.next({ action: 'Toggled CardCode on Edit' });\n this.showCardCode = !this.showCardCode;\n document.getElementById('cardCode').focus();\n }\n\n toggleFieldValue(field: FieldView) {\n const f = (field as any);\n f.showValue = !f.showValue;\n }\n\n toggleUriOptions(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null && uri.match != null ? false : !u.showOptions;\n }\n\n loginUriMatchChanged(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null ? true : u.showOptions;\n }\n\n async checkPassword() {\n if (this.checkPasswordPromise != null) {\n return;\n }\n\n if (this.cipher.login == null || this.cipher.login.password == null || this.cipher.login.password === '') {\n return;\n }\n\n this.analytics.eventTrack.next({ action: 'Check Password' });\n this.checkPasswordPromise = this.auditService.passwordLeaked(this.cipher.login.password);\n const matches = await this.checkPasswordPromise;\n this.checkPasswordPromise = null;\n\n if (matches > 0) {\n this.toasterService.popAsync('warning', null, this.i18nService.t('passwordExposed', matches.toString()));\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('passwordSafe'));\n }\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected encryptCipher() {\n return this.cipherService.encrypt(this.cipher);\n }\n\n protected saveCipher(cipher: Cipher) {\n return this.cipherService.saveWithServer(cipher);\n }\n\n protected deleteCipher() {\n return this.cipherService.deleteWithServer(this.cipher.id);\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\nimport { FolderWithIdRequest } from './folderWithIdRequest';\n\nexport class UpdateKeyRequest {\n ciphers: CipherWithIdRequest[] = [];\n folders: FolderWithIdRequest[] = [];\n masterPasswordHash: string;\n privateKey: string;\n key: string;\n}\n","import { FolderRequest } from './folderRequest';\n\nimport { Folder } from '../domain/folder';\n\nexport class FolderWithIdRequest extends FolderRequest {\n id: string;\n\n constructor(folder: Folder) {\n super(folder);\n this.id = folder.id;\n }\n}\n","import {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { CipherService } from '../../abstractions/cipher.service';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nexport class CiphersComponent {\n @Input() activeCipherId: string = null;\n @Output() onCipherClicked = new EventEmitter();\n @Output() onCipherRightClicked = new EventEmitter();\n @Output() onAddCipher = new EventEmitter();\n @Output() onAddCipherOptions = new EventEmitter();\n\n loaded: boolean = false;\n ciphers: CipherView[] = [];\n searchText: string;\n searchPlaceholder: string = null;\n\n protected allCiphers: CipherView[] = [];\n protected filter: (cipher: CipherView) => boolean = null;\n\n constructor(protected cipherService: CipherService) { }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n this.allCiphers = await this.cipherService.getAllDecrypted();\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n async refresh() {\n this.loaded = false;\n this.ciphers = [];\n await this.load(this.filter);\n }\n\n applyFilter(filter: (cipher: CipherView) => boolean = null) {\n this.filter = filter;\n if (this.filter == null) {\n this.ciphers = this.allCiphers;\n } else {\n this.ciphers = this.allCiphers.filter(this.filter);\n }\n }\n\n selectCipher(cipher: CipherView) {\n this.onCipherClicked.emit(cipher);\n }\n\n rightClickCipher(cipher: CipherView) {\n this.onCipherRightClicked.emit(cipher);\n }\n\n addCipher() {\n this.onAddCipher.emit();\n }\n\n addCipherOptions() {\n this.onAddCipherOptions.emit();\n }\n}\n","export enum LogLevelType {\r\n Debug,\r\n Info,\r\n Warning,\r\n Error,\r\n}\r\n","export { CipherType } from './cipherType';\r\nexport { DeviceType } from './deviceType';\r\nexport { EncryptionType } from './encryptionType';\r\nexport { FieldType } from './fieldType';\r\nexport { LogLevelType } from './logLevelType';\r\nexport { SecureNoteType } from './secureNoteType';\r\nexport { TwoFactorProviderType } from './twoFactorProviderType';\r\nexport { UriMatchType } from './uriMatchType';\r\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appFallbackSrc]',\r\n})\r\nexport class FallbackSrcDirective {\n @Input('appFallbackSrc') appFallbackSrc: string;\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('error') onError() {\r\n this.el.nativeElement.src = this.appFallbackSrc;\r\n }\r\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { CollectionView } from '../../models/view/collectionView';\nimport { FolderView } from '../../models/view/folderView';\n\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { FolderService } from '../../abstractions/folder.service';\n\nexport class GroupingsComponent {\n @Input() showFolders = true;\n @Input() showCollections = true;\n @Input() showFavorites = true;\n\n @Output() onAllClicked = new EventEmitter();\n @Output() onFavoritesClicked = new EventEmitter();\n @Output() onCipherTypeClicked = new EventEmitter();\n @Output() onFolderClicked = new EventEmitter();\n @Output() onAddFolder = new EventEmitter();\n @Output() onEditFolder = new EventEmitter();\n @Output() onCollectionClicked = new EventEmitter();\n\n folders: FolderView[];\n collections: CollectionView[];\n loaded: boolean = false;\n cipherType = CipherType;\n selectedAll: boolean = false;\n selectedFavorites: boolean = false;\n selectedType: CipherType = null;\n selectedFolder: boolean = false;\n selectedFolderId: string = null;\n selectedCollectionId: string = null;\n\n constructor(protected collectionService: CollectionService, protected folderService: FolderService) { }\n\n async load(setLoaded = true) {\n await this.loadFolders();\n await this.loadCollections();\n\n if (setLoaded) {\n this.loaded = true;\n }\n }\n\n async loadCollections(organizationId?: string) {\n if (!this.showCollections) {\n return;\n }\n const collections = await this.collectionService.getAllDecrypted();\n if (organizationId != null) {\n this.collections = collections.filter((c) => c.organizationId === organizationId);\n } else {\n this.collections = collections;\n }\n }\n\n async loadFolders() {\n if (!this.showFolders) {\n return;\n }\n this.folders = await this.folderService.getAllDecrypted();\n }\n\n selectAll() {\n this.clearSelections();\n this.selectedAll = true;\n this.onAllClicked.emit();\n }\n\n selectFavorites() {\n this.clearSelections();\n this.selectedFavorites = true;\n this.onFavoritesClicked.emit();\n }\n\n selectType(type: CipherType) {\n this.clearSelections();\n this.selectedType = type;\n this.onCipherTypeClicked.emit(type);\n }\n\n selectFolder(folder: FolderView) {\n this.clearSelections();\n this.selectedFolder = true;\n this.selectedFolderId = folder.id;\n this.onFolderClicked.emit(folder);\n }\n\n addFolder() {\n this.onAddFolder.emit();\n }\n\n editFolder(folder: FolderView) {\n this.onEditFolder.emit(folder);\n }\n\n selectCollection(collection: CollectionView) {\n this.clearSelections();\n this.selectedCollectionId = collection.id;\n this.onCollectionClicked.emit(collection);\n }\n\n clearSelections() {\n this.selectedAll = false;\n this.selectedFavorites = false;\n this.selectedType = null;\n this.selectedFolder = false;\n this.selectedFolderId = null;\n this.selectedCollectionId = null;\n }\n}\n","
\n
\n {{'verifyEmail' | i18n}}\n
\n
\n

{{'verifyEmailDesc' | i18n}}

\n \n
\n
\n","
\n
\n
\n \n \n
\n \n
\n
\n
\n {{'updateKeyTitle' | i18n}}\n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}}

\n \n
\n
\n \n
\n
\n {{'updateBrowser' | i18n}}\n
\n
\n

{{'updateBrowserDesc' | i18n}}

\n \n {{'updateBrowser' | i18n}}\n \n
\n
\n
\n
\n {{'goPremium' | i18n}}\n
\n
\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n \n {{'goPremium' | i18n}}\n \n
\n
\n
\n
\n {{'organizations' | i18n}}\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n\n\n\n\n\n\n\n\n\n","\r\n\r\n\r\n","export class VerifyDeleteRecoverRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n {{'deleteAccountWarning' | i18n}}\n

\n {{email}}\n

\n

{{'deleteRecoverConfirmDesc' | i18n}}

\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class DeleteRecoverRequest {\n email: string;\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n

{{'deleteRecoverDesc' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorRecoveryRequest extends PasswordVerificationRequest {\n recoveryCode: string;\n email: string;\n}\n","
\n
\n
\n

{{'recoverAccountTwoStep' | i18n}}

\n
\n
\n

{{'recoverAccountTwoStepDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","export class OrganizationUserAcceptRequest {\n token: string;\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n
\n
\n
\n

{{'joinOrganization' | i18n}}

\n
\n
\n

\n {{orgName}}\n {{email}}\n

\n

{{'joinOrganizationDesc' | i18n}}

\n
\n \n
\n
\n
\n
\n
\n","export class VerifyEmailRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n

\n
\n
\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nexport class LockComponent {\r\n masterPassword: string = '';\r\n showPassword: boolean = false;\r\n\r\n protected successRoute: string = 'vault';\r\n\r\n constructor(protected router: Router, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService, protected messagingService: MessagingService,\r\n protected userService: UserService, protected cryptoService: CryptoService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const email = await this.userService.getEmail();\r\n const key = await this.cryptoService.makeKey(this.masterPassword, email);\r\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const storedKeyHash = await this.cryptoService.getKeyHash();\r\n\r\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\r\n await this.cryptoService.setKey(key);\r\n this.messagingService.send('unlocked');\r\n this.router.navigate([this.successRoute]);\r\n } else {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidMasterPassword'));\r\n }\r\n }\r\n\r\n async logOut() {\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\r\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\r\n if (confirmed) {\r\n this.messagingService.send('logout');\r\n }\r\n }\r\n\r\n togglePassword() {\r\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Unlock' });\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('masterPassword').focus();\r\n }\r\n}\r\n","
\n
\n
\n

\n \n

\n

{{'yourVaultIsLocked' | i18n}}

\n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","export class PasswordHintRequest {\r\n email: string;\r\n\r\n constructor(email: string) {\r\n this.email = email;\r\n }\r\n}\r\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { PasswordHintRequest } from '../../models/request/passwordHintRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\n\r\nexport class HintComponent {\r\n email: string = '';\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n\r\n constructor(protected router: Router, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected apiService: ApiService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postPasswordHint(new PasswordHintRequest(this.email));\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Requested Hint' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('masterPassSent'));\r\n this.router.navigate([this.successRoute]);\r\n } catch { }\r\n }\r\n}\r\n","
\n
\n
\n

{{'passwordHint' | i18n}}

\n
\n
\n
\n \n \n {{'enterEmailToGetHint' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { KeysRequest } from './keysRequest';\n\nexport class RegisterRequest {\n name: string;\n email: string;\n masterPasswordHash: string;\n masterPasswordHint: string;\n key: string;\n keys: KeysRequest;\n token: string;\n organizationUserId: string;\n\n constructor(email: string, name: string, masterPasswordHash: string, masterPasswordHint: string, key: string) {\n this.name = name;\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n this.key = key;\n }\n}\n","import { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { KeysRequest } from '../../models/request/keysRequest';\r\nimport { RegisterRequest } from '../../models/request/registerRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\n\r\nexport class RegisterComponent {\r\n name: string = '';\r\n email: string = '';\r\n masterPassword: string = '';\r\n confirmMasterPassword: string = '';\r\n hint: string = '';\r\n showPassword: boolean = false;\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected analytics: Angulartics2, protected toasterService: ToasterService,\r\n protected i18nService: I18nService, protected cryptoService: CryptoService,\r\n protected apiService: ApiService, protected stateService: StateService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n if (this.masterPassword.length < 8) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassLength'));\r\n return;\r\n }\r\n if (this.masterPassword !== this.confirmMasterPassword) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassDoesntMatch'));\r\n return;\r\n }\r\n\r\n this.name = this.name === '' ? null : this.name;\r\n this.email = this.email.toLowerCase();\r\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email);\r\n const encKey = await this.cryptoService.makeEncKey(key);\r\n const hashedPassword = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\r\n const request = new RegisterRequest(this.email, this.name, hashedPassword,\r\n this.hint, encKey[1].encryptedString);\r\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\r\n const orgInvite = await this.stateService.get('orgInvitation');\r\n if (orgInvite != null && orgInvite.token != null && orgInvite.organizationUserId != null) {\r\n request.token = orgInvite.token;\r\n request.organizationUserId = orgInvite.organizationUserId;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postRegister(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Registered' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('newAccountCreated'));\r\n this.router.navigate([this.successRoute], { queryParams: { email: this.email } });\r\n } catch { }\r\n }\r\n\r\n togglePassword(confirmField: boolean) {\r\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Register' });\r\n this.showPassword = !this.showPassword;\r\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\r\n }\r\n}\r\n","
\n
\n
\n

{{'createAccount' | i18n}}

\n
\n
\n \n {{'createOrganizationCreatePersonalAccount' | i18n}}\n \n
\n \n \n {{'emailAddressDesc' | i18n}}\n
\n
\n \n \n {{'yourNameDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n {{'masterPassDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n {{'masterPassHintDesc' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n {{'submitAgreePolicies' | i18n}}\n {{'termsOfService' | i18n}},\n {{'privacyPolicy' | i18n}}\n \n
\n
\n
\n
\n
\n","export class U2f {\r\n private iframe: HTMLIFrameElement = null;\r\n private connectorLink: HTMLAnchorElement;\r\n private parseFunction = this.parseMessage.bind(this);\r\n\r\n constructor(private win: Window, private webVaultUrl: string, private successCallback: Function,\r\n private errorCallback: Function, private infoCallback: Function) {\r\n this.connectorLink = win.document.createElement('a');\r\n this.webVaultUrl = webVaultUrl != null && webVaultUrl !== '' ? webVaultUrl : 'https://vault.bitwarden.com';\r\n }\r\n\r\n init(data: any): void {\r\n this.connectorLink.href = this.webVaultUrl + '/u2f-connector.html' +\r\n '?data=' + this.base64Encode(JSON.stringify(data)) +\r\n '&parent=' + encodeURIComponent(this.win.document.location.href) +\r\n '&v=1';\r\n\r\n this.iframe = this.win.document.getElementById('u2f_iframe') as HTMLIFrameElement;\r\n this.iframe.src = this.connectorLink.href;\r\n\r\n this.win.addEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n stop() {\r\n this.sendMessage('stop');\r\n }\r\n\r\n start() {\r\n this.sendMessage('start');\r\n }\r\n\r\n sendMessage(message: any) {\r\n if (!this.iframe || !this.iframe.src || !this.iframe.contentWindow) {\r\n return;\r\n }\r\n\r\n this.iframe.contentWindow.postMessage(message, this.iframe.src);\r\n }\r\n\r\n base64Encode(str: string): string {\r\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {\r\n return String.fromCharCode(('0x' + p1) as any);\r\n }));\r\n }\r\n\r\n cleanup() {\r\n this.win.removeEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n private parseMessage(event: MessageEvent) {\r\n if (!this.validMessage(event)) {\r\n return;\r\n }\r\n\r\n const parts: string[] = event.data.split('|');\r\n if (parts[0] === 'success' && this.successCallback) {\r\n this.successCallback(parts[1]);\r\n } else if (parts[0] === 'error' && this.errorCallback) {\r\n this.errorCallback(parts[1]);\r\n } else if (parts[0] === 'info' && this.infoCallback) {\r\n this.infoCallback(parts[1]);\r\n }\r\n }\r\n\r\n private validMessage(event: MessageEvent) {\r\n if (event.origin == null || event.origin === '' || event.origin !== (this.connectorLink as any).origin ||\r\n event.data == null || typeof (event.data) !== 'string') {\r\n return false;\r\n }\r\n\r\n return event.data.indexOf('success|') === 0 || event.data.indexOf('error|') === 0 ||\r\n event.data.indexOf('info|') === 0;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { DeviceRequest } from './deviceRequest';\r\n\r\nexport class TokenRequest {\r\n email: string;\r\n masterPasswordHash: string;\r\n token: string;\r\n provider: TwoFactorProviderType;\r\n remember: boolean;\r\n device?: DeviceRequest;\r\n\r\n constructor(email: string, masterPasswordHash: string, provider: TwoFactorProviderType,\r\n token: string, remember: boolean, device?: DeviceRequest) {\r\n this.email = email;\r\n this.masterPasswordHash = masterPasswordHash;\r\n this.token = token;\r\n this.provider = provider;\r\n this.remember = remember;\r\n this.device = device != null ? device : null;\r\n }\r\n\r\n toIdentityToken(clientId: string) {\r\n const obj: any = {\r\n grant_type: 'password',\r\n username: this.email,\r\n password: this.masterPasswordHash,\r\n scope: 'api offline_access',\r\n client_id: clientId,\r\n };\r\n\r\n if (this.device) {\r\n obj.deviceType = this.device.type;\r\n obj.deviceIdentifier = this.device.identifier;\r\n obj.deviceName = this.device.name;\r\n // no push tokens for browser apps yet\r\n // obj.devicePushToken = this.device.pushToken;\r\n }\r\n\r\n if (this.token && this.provider !== null && (typeof this.provider !== 'undefined')) {\r\n obj.twoFactorToken = this.token;\r\n obj.twoFactorProvider = this.provider;\r\n obj.twoFactorRemember = this.remember ? '1' : '0';\r\n }\r\n\r\n return obj;\r\n }\r\n}\r\n","import { DeviceType } from '../../enums/deviceType';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class DeviceRequest {\r\n type: DeviceType;\r\n name: string;\r\n identifier: string;\r\n pushToken?: string;\r\n\r\n constructor(appId: string, platformUtilsService: PlatformUtilsService) {\r\n this.type = platformUtilsService.getDevice();\r\n this.name = platformUtilsService.getDeviceString();\r\n this.identifier = appId;\r\n this.pushToken = null;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class AuthResult {\r\n twoFactor: boolean = false;\r\n twoFactorProviders: Map = null;\r\n}\r\n","import {\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { DeviceType } from '../../enums/deviceType';\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { TwoFactorProviders } from '../../services/auth.service';\n\nimport * as DuoWebSDK from '../../misc/duo';\nimport { U2f } from '../../misc/u2f';\n\nexport class TwoFactorComponent implements OnInit, OnDestroy {\n token: string = '';\n remember: boolean = false;\n u2fReady: boolean = false;\n providers = TwoFactorProviders;\n providerType = TwoFactorProviderType;\n selectedProviderType: TwoFactorProviderType = TwoFactorProviderType.Authenticator;\n u2fSupported: boolean = false;\n u2f: U2f = null;\n title: string = '';\n twoFactorEmail: string = null;\n formPromise: Promise;\n emailPromise: Promise;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n\n protected loginRoute = 'login';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, protected apiService: ApiService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window,\n protected environmentService: EnvironmentService) {\n this.u2fSupported = this.platformUtilsService.supportsU2f(win);\n }\n\n async ngOnInit() {\n if (this.authService.email == null || this.authService.masterPasswordHash == null ||\n this.authService.twoFactorProviders == null) {\n this.router.navigate([this.loginRoute]);\n return;\n }\n\n if (this.win != null && this.u2fSupported) {\n let customWebVaultUrl: string = null;\n if (this.environmentService.baseUrl != null) {\n customWebVaultUrl = this.environmentService.baseUrl;\n } else if (this.environmentService.webVaultUrl != null) {\n customWebVaultUrl = this.environmentService.webVaultUrl;\n }\n\n this.u2f = new U2f(this.win, customWebVaultUrl, (token: string) => {\n this.token = token;\n this.submit();\n }, (error: string) => {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), error);\n }, (info: string) => {\n if (info === 'ready') {\n this.u2fReady = true;\n }\n });\n }\n\n this.selectedProviderType = this.authService.getDefaultTwoFactorProvider(this.u2fSupported);\n await this.init();\n }\n\n ngOnDestroy(): void {\n this.cleanupU2f();\n this.u2f = null;\n }\n\n async init() {\n if (this.selectedProviderType == null) {\n this.title = this.i18nService.t('loginUnavailable');\n return;\n }\n\n this.cleanupU2f();\n this.title = (TwoFactorProviders as any)[this.selectedProviderType].name;\n const params = this.authService.twoFactorProviders.get(this.selectedProviderType);\n switch (this.selectedProviderType) {\n case TwoFactorProviderType.U2f:\n if (!this.u2fSupported || this.u2f == null) {\n break;\n }\n\n const challenges = JSON.parse(params.Challenges);\n if (challenges.length > 0) {\n this.u2f.init({\n appId: challenges[0].appId,\n challenge: challenges[0].challenge,\n keys: [{\n version: challenges[0].version,\n keyHandle: challenges[0].keyHandle,\n }],\n });\n }\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n if (this.platformUtilsService.getDevice() === DeviceType.SafariExtension) {\n break;\n }\n\n setTimeout(() => {\n DuoWebSDK.init({\n iframe: undefined,\n host: params.Host,\n sig_request: params.Signature,\n submit_callback: async (f: HTMLFormElement) => {\n const sig = f.querySelector('input[name=\"sig_response\"]') as HTMLInputElement;\n if (sig != null) {\n this.token = sig.value;\n await this.submit();\n }\n },\n });\n }, 0);\n break;\n case TwoFactorProviderType.Email:\n this.twoFactorEmail = params.Email;\n if (this.authService.twoFactorProviders.size > 1) {\n await this.sendEmail(false);\n }\n break;\n default:\n break;\n }\n }\n\n async submit() {\n if (this.token == null || this.token === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verificationCodeRequired'));\n return;\n }\n\n if (this.selectedProviderType === TwoFactorProviderType.U2f) {\n if (this.u2f != null) {\n this.u2f.stop();\n } else {\n return;\n }\n } else if (this.selectedProviderType === TwoFactorProviderType.Email ||\n this.selectedProviderType === TwoFactorProviderType.Authenticator) {\n this.token = this.token.replace(' ', '').trim();\n }\n\n try {\n this.formPromise = this.authService.logInTwoFactor(this.selectedProviderType, this.token, this.remember);\n await this.formPromise;\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.analytics.eventTrack.next({ action: 'Logged In From Two-step' });\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute]);\n }\n } catch (e) {\n if (this.selectedProviderType === TwoFactorProviderType.U2f && this.u2f != null) {\n this.u2f.start();\n } else {\n throw e;\n }\n }\n }\n\n async sendEmail(doToast: boolean) {\n if (this.selectedProviderType !== TwoFactorProviderType.Email) {\n return;\n }\n\n if (this.emailPromise != null) {\n return;\n }\n\n try {\n const request = new TwoFactorEmailRequest(this.authService.email, this.authService.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmail(request);\n await this.emailPromise;\n if (doToast) {\n this.toasterService.popAsync('success', null,\n this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));\n }\n } catch { }\n\n this.emailPromise = null;\n }\n\n private cleanupU2f() {\n if (this.u2f != null) {\n this.u2f.stop();\n this.u2f.cleanup();\n }\n }\n}\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n EventEmitter,\r\n OnDestroy,\r\n Output,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent implements OnDestroy {\r\n @Output() onClose = new EventEmitter();\r\n @Output() onClosed = new EventEmitter();\r\n @Output() onShow = new EventEmitter();\r\n @Output() onShown = new EventEmitter();\r\n @ViewChild('container', { read: ViewContainerRef }) container: ViewContainerRef;\r\n parentContainer: ViewContainerRef = null;\r\n fade: boolean = true;\r\n\r\n constructor(protected componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('modal-open');\r\n document.body.removeChild(document.querySelector('.modal-backdrop'));\r\n }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true): T {\r\n this.onShow.emit();\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n document.body.classList.add('modal-open');\r\n const backdrop = document.createElement('div');\r\n backdrop.className = 'modal-backdrop' + (this.fade ? ' fade' : '');\r\n document.body.appendChild(backdrop);\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n\r\n document.querySelector('.modal-dialog').addEventListener('click', (e: Event) => {\r\n e.stopPropagation();\r\n });\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss=\"modal\"]'));\r\n for (const closeElement of modals) {\r\n closeElement.addEventListener('click', (event) => {\r\n this.close();\r\n });\r\n }\r\n\r\n this.onShown.emit();\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n this.onClose.emit();\r\n this.onClosed.emit();\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n }\r\n}\r\n","import {\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { TwoFactorProviders } from '../../services/auth.service';\n\nexport class TwoFactorOptionsComponent implements OnInit {\n @Output() onProviderSelected = new EventEmitter();\n @Output() onRecoverSelected = new EventEmitter();\n\n providers: any[] = [];\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected win: Window) { }\n\n ngOnInit() {\n this.providers = this.authService.getSupportedTwoFactorProviders(this.win);\n }\n\n choose(p: any) {\n this.onProviderSelected.emit(p.type);\n }\n\n recover() {\n this.analytics.eventTrack.next({ action: 'Selected Recover' });\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/lost-two-step-device/');\n this.onRecoverSelected.emit();\n }\n}\n","
\n
\n
\n

{{title}}

\n
\n
\n \n

{{'enterVerificationCodeApp' | i18n}}

\n

\n {{'enterVerificationCodeEmail' | i18n : twoFactorEmail}}\n

\n
\n \n \n \n \n {{'sendVerificationCodeEmailAgain' | i18n}}\n \n \n
\n
\n \n

{{'insertYubiKey' | i18n}}

\n \"\"\n
\n \n \n
\n
\n \n

\n \n

\n \n

{{'insertU2f' | i18n}}

\n \"\"\n
\n
\n \n
\n \n
\n
\n \n
\n \n \n
\n \n

{{'noTwoStepProviders' | i18n}}

\n

{{'noTwoStepProviders2' | i18n}}

\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n
\n
\n
\n
\n
\n\n\n","import {\n Input,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { Utils } from '../../misc/utils';\n\nconst Keys = {\n rememberedEmail: 'rememberedEmail',\n rememberEmail: 'rememberEmail',\n};\n\nexport class LoginComponent implements OnInit {\n @Input() email: string = '';\n @Input() rememberEmail = true;\n\n masterPassword: string = '';\n showPassword: boolean = false;\n formPromise: Promise;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected i18nService: I18nService, private storageService: StorageService) { }\n\n async ngOnInit() {\n if (this.email == null || this.email === '') {\n this.email = await this.storageService.get(Keys.rememberedEmail);\n if (this.email == null) {\n this.email = '';\n }\n }\n this.rememberEmail = await this.storageService.get(Keys.rememberEmail);\n if (this.rememberEmail == null) {\n this.rememberEmail = true;\n }\n if (Utils.isBrowser) {\n document.getElementById(this.email == null || this.email === '' ? 'email' : 'masterPassword').focus();\n }\n }\n\n async submit() {\n if (this.email == null || this.email === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.authService.logIn(this.email, this.masterPassword);\n const response = await this.formPromise;\n await this.storageService.save(Keys.rememberEmail, this.rememberEmail);\n if (this.rememberEmail) {\n await this.storageService.save(Keys.rememberedEmail, this.email);\n } else {\n await this.storageService.remove(Keys.rememberedEmail);\n }\n if (response.twoFactor) {\n this.analytics.eventTrack.next({ action: 'Logged In To Two-step' });\n this.router.navigate([this.twoFactorRoute]);\n } else {\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.analytics.eventTrack.next({ action: 'Logged In' });\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n } catch { }\n }\n\n togglePassword() {\n this.analytics.eventTrack.next({ action: 'Toggled Master Password on Login' });\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n}\n","
\n
\n
\n \n

{{'loginOrCreateNewAccount' | i18n}}

\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n \n {{'getMasterPasswordHint' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n \n \n {{'createAccount' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","\r\n
\r\n © 2018, 8bit Solutions LLC\r\n
{{'versionNumber' | i18n : version}}\r\n
\r\n","import 'core-js';\n\nimport { ToasterModule } from 'angular2-toaster';\nimport { Angulartics2Module } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { ServicesModule } from './services/services.module';\n\nimport { AppComponent } from './app.component';\nimport { ModalComponent } from './modal.component';\n\nimport { AvatarComponent } from './components/avatar.component';\nimport { CalloutComponent } from './components/callout.component';\n\nimport { FooterComponent } from './layouts/footer.component';\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { NavbarComponent } from './layouts/navbar.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { TwoFactorOptionsComponent } from './accounts/two-factor-options.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport {\n CollectionAddEditComponent as OrgCollectionAddEditComponent,\n} from './organizations/manage/collection-add-edit.component';\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EntityEventsComponent as OrgEntityEventsComponent } from './organizations/manage/entity-events.component';\nimport { EntityUsersComponent as OrgEntityUsersComponent } from './organizations/manage/entity-users.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupAddEditComponent as OrgGroupAddEditComponent } from './organizations/manage/group-add-edit.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\nimport { UserAddEditComponent as OrgUserAddEditComponent } from './organizations/manage/user-add-edit.component';\nimport { UserGroupsComponent as OrgUserGroupsComponent } from './organizations/manage/user-groups.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { AdjustSeatsComponent } from './organizations/settings/adjust-seats.component';\nimport { DeleteOrganizationComponent } from './organizations/settings/delete-organization.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { SettingsComponent as OrgSettingComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\n\nimport { AddEditComponent as OrgAddEditComponent } from './organizations/vault/add-edit.component';\nimport { AttachmentsComponent as OrgAttachmentsComponent } from './organizations/vault/attachments.component';\nimport { CiphersComponent as OrgCiphersComponent } from './organizations/vault/ciphers.component';\nimport { CollectionsComponent as OrgCollectionsComponent } from './organizations/vault/collections.component';\nimport { GroupingsComponent as OrgGroupingsComponent } from './organizations/vault/groupings.component';\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { AdjustPaymentComponent } from './settings/adjust-payment.component';\nimport { AdjustStorageComponent } from './settings/adjust-storage.component';\nimport { ChangeEmailComponent } from './settings/change-email.component';\nimport { ChangePasswordComponent } from './settings/change-password.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DeauthorizeSessionsComponent } from './settings/deauthorize-sessions.component';\nimport { DeleteAccountComponent } from './settings/delete-account.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PaymentComponent } from './settings/payment.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { ProfileComponent } from './settings/profile.component';\nimport { PurgeVaultComponent } from './settings/purge-vault.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorAuthenticatorComponent } from './settings/two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './settings/two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './settings/two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './settings/two-factor-recovery.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { TwoFactorU2fComponent } from './settings/two-factor-u2f.component';\nimport { TwoFactorVerifyComponent } from './settings/two-factor-verify.component';\nimport { TwoFactorYubiKeyComponent } from './settings/two-factor-yubikey.component';\nimport { UpdateKeyComponent } from './settings/update-key.component';\nimport { UpdateLicenseComponent } from './settings/update-license.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\nimport { VerifyEmailComponent } from './settings/verify-email.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ImportComponent } from './tools/import.component';\nimport { PasswordGeneratorHistoryComponent } from './tools/password-generator-history.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ToolsComponent } from './tools/tools.component';\n\nimport { AddEditComponent } from './vault/add-edit.component';\nimport { AttachmentsComponent } from './vault/attachments.component';\nimport { BulkDeleteComponent } from './vault/bulk-delete.component';\nimport { BulkMoveComponent } from './vault/bulk-move.component';\nimport { BulkShareComponent } from './vault/bulk-share.component';\nimport { CiphersComponent } from './vault/ciphers.component';\nimport { CollectionsComponent } from './vault/collections.component';\nimport { FolderAddEditComponent } from './vault/folder-add-edit.component';\nimport { GroupingsComponent } from './vault/groupings.component';\nimport { ShareComponent } from './vault/share.component';\nimport { VaultComponent } from './vault/vault.component';\n\nimport { IconComponent } from 'jslib/angular/components/icon.component';\n\nimport { ApiActionDirective } from 'jslib/angular/directives/api-action.directive';\nimport { AutofocusDirective } from 'jslib/angular/directives/autofocus.directive';\nimport { BlurClickDirective } from 'jslib/angular/directives/blur-click.directive';\nimport { BoxRowDirective } from 'jslib/angular/directives/box-row.directive';\nimport { FallbackSrcDirective } from 'jslib/angular/directives/fallback-src.directive';\nimport { InputVerbatimDirective } from 'jslib/angular/directives/input-verbatim.directive';\nimport { StopClickDirective } from 'jslib/angular/directives/stop-click.directive';\nimport { StopPropDirective } from 'jslib/angular/directives/stop-prop.directive';\nimport { TrueFalseValueDirective } from 'jslib/angular/directives/true-false-value.directive';\n\nimport { I18nPipe } from 'jslib/angular/pipes/i18n.pipe';\nimport { SearchCiphersPipe } from 'jslib/angular/pipes/search-ciphers.pipe';\nimport { SearchPipe } from 'jslib/angular/pipes/search.pipe';\n\nimport { registerLocaleData } from '@angular/common';\nimport localeDa from '@angular/common/locales/da';\n\nregisterLocaleData(localeDa, 'da');\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n AppRoutingModule,\n ServicesModule,\n Angulartics2Module.forRoot([Angulartics2GoogleAnalytics], {\n pageTracking: {\n clearQueryParams: true,\n },\n }),\n ToasterModule,\n ],\n declarations: [\n AcceptOrganizationComponent,\n AccountComponent,\n AddEditComponent,\n AdjustPaymentComponent,\n AdjustSeatsComponent,\n AdjustStorageComponent,\n ApiActionDirective,\n AppComponent,\n AttachmentsComponent,\n AutofocusDirective,\n AvatarComponent,\n BlurClickDirective,\n BoxRowDirective,\n BreachReportComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CalloutComponent,\n ChangeEmailComponent,\n ChangePasswordComponent,\n CiphersComponent,\n CollectionsComponent,\n CreateOrganizationComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n DomainRulesComponent,\n ExportComponent,\n FallbackSrcDirective,\n FolderAddEditComponent,\n FooterComponent,\n FrontendLayoutComponent,\n GroupingsComponent,\n HintComponent,\n IconComponent,\n I18nPipe,\n ImportComponent,\n InputVerbatimDirective,\n LockComponent,\n LoginComponent,\n ModalComponent,\n NavbarComponent,\n OptionsComponent,\n OrgAccountComponent,\n OrgAddEditComponent,\n OrganizationBillingComponent,\n OrgAttachmentsComponent,\n OrgCiphersComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgEventsComponent,\n OrgExportComponent,\n OrgImportComponent,\n OrgGroupAddEditComponent,\n OrgGroupingsComponent,\n OrgGroupsComponent,\n OrgManageCollectionsComponent,\n OrgManageComponent,\n OrgPeopleComponent,\n OrgSettingComponent,\n OrgToolsComponent,\n OrgTwoFactorSetupComponent,\n OrgUserAddEditComponent,\n OrgUserGroupsComponent,\n OrganizationsComponent,\n OrganizationLayoutComponent,\n OrgVaultComponent,\n PasswordGeneratorComponent,\n PasswordGeneratorHistoryComponent,\n PaymentComponent,\n PremiumComponent,\n ProfileComponent,\n PurgeVaultComponent,\n RecoverDeleteComponent,\n RecoverTwoFactorComponent,\n RegisterComponent,\n SearchCiphersPipe,\n SearchPipe,\n SettingsComponent,\n ShareComponent,\n StopClickDirective,\n StopPropDirective,\n ToolsComponent,\n TrueFalseValueDirective,\n TwoFactorAuthenticatorComponent,\n TwoFactorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorSetupComponent,\n TwoFactorU2fComponent,\n TwoFactorVerifyComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n UpdateLicenseComponent,\n UserBillingComponent,\n UserLayoutComponent,\n VaultComponent,\n VerifyEmailComponent,\n VerifyEmailTokenComponent,\n VerifyRecoverDeleteComponent,\n ],\n entryComponents: [\n AddEditComponent,\n AttachmentsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkShareComponent,\n CollectionsComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n FolderAddEditComponent,\n ModalComponent,\n OrgAddEditComponent,\n OrgAttachmentsComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgGroupAddEditComponent,\n OrgUserAddEditComponent,\n OrgUserGroupsComponent,\n PasswordGeneratorHistoryComponent,\n PurgeVaultComponent,\n ShareComponent,\n TwoFactorAuthenticatorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorU2fComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n ],\n providers: [],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport 'bootstrap';\nimport 'jquery';\nimport 'popper.js';\n\n// tslint:disable-next-line\nrequire('../scss/styles.scss');\n\nimport { AppModule } from './app.module';\n\nif (process.env.ENV === 'production') {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n"],"sourceRoot":""} \ No newline at end of file diff --git a/index.html b/index.html index 87a5e3be..1a53863f 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@ - + @@ -25,6 +25,6 @@ - +