Skip to content

Instantly share code, notes, and snippets.

@dsdenes
Created June 21, 2017 11:54
Show Gist options
  • Save dsdenes/59ca0e302396367606fdd040fc37f494 to your computer and use it in GitHub Desktop.
Save dsdenes/59ca0e302396367606fdd040fc37f494 to your computer and use it in GitHub Desktop.
OIWARREN
function t(r) {
return r[0].toUpperCase() + r.substring(1)
}
this.warren = this.warren || {}, this.warren.angular = this.warren.angular || {}, warren.angular.controller = function(r, e, n) {
n = n || {};
var l = r.replace("warren.", "").split(".")[0],
a = r.replace(/^warren\.\w+\./, "").split("."),
o = a[a.length - 1],
i = a.map(function(r) {
return t(r)
}).join(""),
c = "c_" + o,
u = "warren" + i + "Controller",
p = "warren" + i,
s = "app/" + l + "/";
1 === a.length ? s += a[0] + "/" + a[0] : 2 === a.length ? s += a[0] + "/pages/" + a[1] : console.warn('Not sure how to define template url of "' + r + '", please define manually.'), s += ".template.html", angular.module(r, []).controller(n.controllerId || u, e).directive(n.directiveId || p, function() {
return {
templateUrl: n.templateUrl || s,
controller: n.controller || e,
controllerAs: n.controllerAs || c
}
})
};
var isDesktop = "undefined" != typeof module && module.exports;
if (isDesktop) var warren = {
enums: {}
};
else this.warren = this.warren || {}, this.warren.enums = this.warren.enums || {};
! function() {
"use strict";
warren.enums.UserStatus = {
prospect: "Prospect (only the email)",
register: "Register (email + password)",
valid: "Valid (email has been verified)",
complete: "Complete (user completed its profile)",
approved: "Approved (Warren validated the profile)"
}, warren.enums.PortfolioGoals = {
emergency: "Quero uma reserva rápida para uma emergência",
target: "Não tenho um objetivo financeiro e/ou prazo específicos",
monthly_income: "Quero investir para uma aposentadoria tranquila",
free: "Tenho um objetivo financeiro e/ou prazo específicos"
}, warren.enums.UserRole = {
admin: "Administrador"
}, warren.enums.Sex = {
male: "Masculino",
female: "Feminino"
}, warren.enums.MaritalStatus = {
"casado-brasileiro-nato": "Casado(a) com Brasileiro(a) nato(a)",
"casado-brasileiro-naturalizado": "Casado(a) com Brasileiro(a) naturalizado(a)",
"casado-estrangeiro": "Casado(a) com Estrangeiro(a)",
desquitado: "Desquitado(a)",
divorciado: "Divorciado(a)",
solteiro: "Solteiro",
"uniao-estavel": "União Estável",
viuvo: "Viúvo"
}, warren.enums.Nationality = {
"brasileiro-nato": "Brasileiro(a) NATO(A)",
"brasileiro-naturalizado": "Brasileiro(a) NATURALIZADO(A)",
estrangeiro: "Estrangeiro"
}, warren.enums.State = {
AC: "Acre",
AL: "Alagoas",
AP: "Amapá",
AM: "Amazonas",
BA: "Bahia",
CE: "Ceará",
DF: "Distrito Federal",
ES: "Espírito Santo",
GO: "Goiás",
MA: "Maranhão",
MT: "Mato Grosso",
MS: "Mato Grosso do Sul",
MG: "Minas Gerais",
PA: "Pará",
PB: "Paraíba",
PR: "Paraná",
PE: "Pernambuco",
PI: "Piauí",
RJ: "Rio de Janeiro",
RN: "Rio Grande do Norte",
RS: "Rio Grande do Sul",
RO: "Rondônia",
RR: "Roraima",
SC: "Santa Catarina",
SP: "São Paulo",
SE: "Sergipe",
TO: "Tocantins"
}, warren.enums.Profession = {
"001": "Administrador",
"002": "Advogado",
"003": "Agente de viagem e guia de turismo",
"004": "Agrônomo",
"005": "Analista de sistemas",
"006": "Aposentado (exceto funcionário público)",
"007": "Arquiteto",
"008": "Assistente social",
"009": "Atleta profissional e técnico em desportos",
"010": "Autônomo",
"011": "Auxiliar de escritório e assemelhados",
"012": "Bancário e economiário",
"013": "Biólogo e biomédico",
"014": "Bolsista",
"015": "Cabeleireiro",
"016": "Capitalista",
"017": "Contador",
"018": "Corretor de imóveis",
"019": "Decorador",
"020": "Diretor de empresas",
"021": "Economista",
"022": "Eletricista e assemelhados",
"023": "Empresário",
"024": "Enfermeiro e nutricionista",
"025": "Engenheiro",
"026": "Estudante",
"027": "Farmacêutico",
"028": "Físico",
"029": "Fisioterapeuta e terapeuta ocupacional",
"030": "Fonoaudiólogo",
"031": "Funcionário público civil aposentado",
"032": "Geólogo",
"033": "Jornalista",
"034": "Mecânico de manutenção de veículos autos e máquinas",
"035": "Médico",
"036": "Membro do poder executivo: pres.república",
"037": "Membro do poder judiciário: ministro de trib. sup",
"038": "Membro do poder legislativo: senador",
"039": "Militar em geral",
"040": "Militar reformado",
"041": "Modelo de modas",
"042": "Motorista de veículos de transporte de carga",
"043": "Motorista de veículos de transporte de passageiros",
"044": "Músico",
"045": "Odontólogo e dentista",
"046": "Pensionista",
"047": "Piloto de aeronaves",
"048": "Professor de ensino superior",
"049": "Professor de primeiro e segundo graus",
"050": "Proprietário de estabelecimento agrícola",
"051": "Proprietário de estabelecimento comercial",
"052": "Proprietário de estabelecimento de prestação de serviço",
"053": "Proprietário de estabelecimento industrial",
"054": "Proprietário de imóvel (recebendo renda de aluguel)",
"055": "Proprietário de microempresas",
"056": "Psicólogo",
"057": "Publicitário",
"058": "Químico",
"059": "Relações públicas",
"060": "Roteirista / escritora",
"061": "Sacerdote ou membro de ordens ou seitas religiosas",
"062": "Securitário",
"063": "Servidor público estadual",
"064": "Servidor público federal",
"065": "Servidor público municipal",
"066": "Sociólogo",
"067": "Técnico de biologia",
"068": "Técnico de contabilidade e de estatística",
"069": "Técnico de eletricidade",
"070": "Técnico de química",
"071": "Trabalhador de construção civil",
"072": "Trabalhador metalúrgico e siderúrgico",
"073": "Vendedor de comércio varejista e atacadista",
"074": "Veterinário e zootecnista"
}, warren.enums.DocumentType = {
rg: "RG (Registro Geral)",
cnh: "CNH (Carteira Nacional de Habilitação)"
}, warren.enums.DocumentEmissor = {
detran: "Detran",
ifp: "(IFP) Instituto Félix Pacheco",
sjs: "(SJS) Secretaria da Justiça e da Segurança",
sds: "(SDS) Secretaria de Defesa Social",
sej: "(SEJ) Secretaria de Estado e Justiça",
secc: "(SECC) Secretaria Estado da Casa Civil",
sesp: "(SESP) Secretaria Estado Segurança Pública",
ssp: "(SSP) Secretaria Segurança Pública"
}, warren.enums.Bank = {
735: "Neon",
"001": "Banco do Brasil S/A",
"003": "Banco da Amazonia",
"004": "Banco do Nordeste do Brasil S/A",
"014": "Natixis Brasil S/A Banco Múltiplo",
"017": "BNY Mellon Banco S/A.",
"018": "Banco Tricury S/A",
"019": "Banco Azteca do Brasil S/A",
"021": "Banestes",
"024": "Estado de Pernambuco S/A",
"025": "Banco Alfa",
"029": "Banco do Estado do Rio de Janeiro",
"033": "Santander",
"036": "Estado do Maranhao S/A",
"037": "Banco Banpara",
"040": "Banco Cargill S/A",
"041": "Banrisul",
"047": "Banco de Sergipe",
"060": "Confidence Corretora de Câmbio S/A",
"062": "Hipercard Banco Múltiplo S/A",
"063": "Banco Bradescard S/A",
"064": "Goldman Sachs do Brasil Banco Múltiplo S/A",
"065": "Banco Bracce S/A",
"066": "Banco Morgan Stanley S/A",
"069": "BPN Brasil Banco Múltiplo S/A",
"070": "BRB",
"074": "Banco J Safra",
"075": "Banco ABN AMRO S/A",
"076": "Banco KDB do Brasil S/A",
"077": "Banco Intermedium S/A",
212: "Banco Original S/A",
"081": "Bbn Banco Brasileiro de Negocios S/A",
"082": "Banco Topazio S/A",
"083": "Banco Da China Brasil S/A",
"085": "Cooperativa Central de Crédito Urbano",
"087": "CC Unicred Central SC/PR",
"088": "Banco Randon S/A",
"090": "CC Unicred Central SP",
"091": "Unicred Central RS",
"094": "Banco Petra S/A",
"095": "Banco Confidence de Câmbio S/A",
"096": "Banco Bm&f de Liquidacao e Custodia S/A",
"097": "BEP",
"098": "BERS",
"099": "BN BCO do Nordeste do Brasil S/A",
101: "BEB",
102: "BEP",
104: "Caixa Economica Federal S/A",
105: "Suritomo Brasileiro S/A",
107: "Mitsubishi Brasileiro S/A",
111: "BEG",
112: "Paraiban",
113: "BEM",
117: "Mult Banco S/A",
118: "BEPI",
119: "Battistella S/A",
120: "Augusgo Indal. Coml. S/A",
121: "Porto Real S/A",
122: "Bradesco BERJ",
123: "BESE",
124: "BEAM",
125: "Brasil Plural",
126: "Exprinter Losan S/A",
127: "Equatorial S/A",
129: "BEMT",
130: "BEAC",
132: "MAXI",
138: "Ficrisa Axelrud S/A",
184: "Bba Creditanstal S/A",
204: "Srl S/A",
208: "Pactual S/A",
213: "Arbi S/A",
214: "Dibens S/A",
217: "Agroinvest S/A",
218: "Banco Bonsucesso S/A",
222: "Banco Calyon S/A",
224: "Fibra S/A",
230: "Bandeirantes S/A",
233: "Mappin S/A",
237: "Bradesco S/A",
241: "Classico S/A",
243: "Stock S/A",
246: "Abc Roma S/A",
248: "Banco Boavista Interatlântico S/A",
249: "Investcred S/A",
250: "Schahin Cury S/A",
254: "Parana Banco S/A",
263: "Cacique S/A",
265: "Fator S/A",
266: "Cedula S/A",
300: "Nacion Argentina S/A",
318: "Bmg S/A",
320: "Indl e Comercial S/A",
341: "Banco Itau S/A",
366: "Sogeral S/A",
370: "Europru P/AM. Latina",
376: "Chase Manhattan S/A",
389: "Mercantil do Brasil S/A",
394: "Bmc S/A",
399: "Banco HSBC S/A",
412: "Nacional Da Bahia S/A",
422: "Safra S/A",
456: "Tokio S/A",
464: "Sumitomo S/A",
473: "Financial Portugues S/A",
477: "Citibank S/A",
479: "ITAU BANK PERSONALITTE",
487: "Deutsche Bank S/A",
488: "Morgan Guaranty Trust Company of NY",
492: "Internat. Nederlanden Bank NV",
494: "Republica Oriental Del Uruguay",
495: "Provincia de Buenos Aires",
505: "Garantia S/A",
600: "Luso Brasileiro S/A",
604: "Indl do Brasil S/A",
610: "V R S/A",
611: "Paulista S/A",
612: "Guanabara S/A",
613: "Pecunia S/A",
623: "Panamericano S/A",
626: "Ficsa S/A",
630: "Intercap S/A",
633: "Rendimento S/A",
634: "Triangulo S/A",
637: "Sofisa S/A",
641: "BBV Banco Bilbao Vizcaya",
643: "Segmentos S/A",
652: "Itaú Unibanco Holding S/A",
653: "Indusval S/A",
654: "A.J. Renner S/A",
655: "Votorantim S/A",
707: "Daycoval S/A",
712: "Banco Ourinvest S/A",
719: "Banif Primus S/A",
739: "Bgn S/A",
740: "Bcn Barclays S/A",
741: "Ribeirao Preto S/A",
745: "Banco Citibank S/A",
746: "Banco Modal S/A",
747: "Banco Rabobank International Brasil S/A",
748: "Banco Cooperativo Sicredi S/A",
751: "Scotiabank Brasil S/A Banco Múltiplo",
752: "Banco BNP Paribas Brasil S/A",
753: "Novo Banco Continental S/A",
755: "Bank of America Merrill Lynch Banco Múltiplo S/A",
756: "Bancoob",
757: "Banco Keb do Brasil S/A",
901: "Boston S/A"
}, warren.enums.BankImages = {
"001": "/assets/imgs/banks/bancodobrasil.svg",
"033": "/assets/imgs/banks/santander.svg",
104: "/assets/imgs/banks/caixa.svg",
237: "/assets/imgs/banks/bradesco.svg",
341: "/assets/imgs/banks/itau.svg",
399: "/assets/imgs/banks/hsbc.svg",
477: "/assets/imgs/banks/citibank.svg",
479: "/assets/imgs/banks/itau.svg",
745: "/assets/imgs/banks/citibank.svg",
other: "/assets/imgs/icons/ic_3dots_black.svg"
}, warren.enums.BankAccountType = {
savings: "Conta poupança",
current: "Conta corrente"
}, warren.enums.CreditCardType = {
VI: "Visa",
AX: "American Express",
BC: "BC Card",
CA: "MasterCard",
DS: "Discover",
DC: "Diners Club",
T: "Carta Si",
R: "Carte Bleue",
E: "Visa Electron",
JC: "Japan Credit Bureau",
TO: "Maestro"
}, warren.enums.Education = {
kindergarten: "Infantil",
elementary: "Fundamental",
high_school: "Médio",
superior: "Superior",
technical: "Técnico",
masters_doctorate: "Mestrado/Doutorado",
postgraduate_specialization: "Pós Graduação/Especialização"
}
}(), isDesktop && (module.exports = warren.enums);
this.warren = this.warren || {}, this.warren.finance = this.warren.finance || {},
function() {
"use strict";
var n = warren.finance;
n.futureValue = function(n, r, e, a) {
0 === e && (e = 1e-5);
var t = Math.pow(1 + e, r),
i = n * t,
u = 0;
return a && (u = a * ((t - 1) / e)), i + u || 0
}
}();
this.warren = this.warren || {}, this.warren.goals = this.warren.goals || {}, this.warren.utils = this.warren.utils || {},
function() {
"use strict";
var t = warren.goals,
n = warren.utils;
n.futureValue = function(t, n, e, a) {
0 === e && (e = 1e-5);
var r = Math.pow(1 + e, n),
u = t * r,
i = 0;
return a && (i = a * ((r - 1) / e)), u + i || 0
}, n.round = function(t, n) {
var e = t % n;
return 0 !== e && (t += n - e), t
}, t.emergency = {
suggestGoalAmount: function(t) {
return n.round(Math.max(6 * t, 3e3), 1e3)
},
suggestGoalTime: function() {
return 3
},
suggestInitialInvestment: function(t, e, a, r) {
var u = .05 * t,
i = Math.pow(1 + a, e),
o = u * ((i - 1) / a),
s = (r - o) / i;
return s = Math.ceil(Math.min(Math.max(s, 1e3), r)), n.round(s, 1e3)
},
suggestMonthlyInvestment: function(t, e, a, r) {
var u = Math.pow(1 + a, e),
i = t * u,
o = (r - i) * a / (u - 1);
return o = Math.ceil(Math.min(Math.max(o, 100), r)), n.round(o, 50)
}
}, t.target = {
suggestInitialInvestment: function(t, e, a, r) {
var u = .05 * t,
i = Math.pow(1 + a, e),
o = u * ((i - 1) / a),
s = (r - o) / i;
return s = Math.ceil(Math.min(Math.max(s, 1e3), r)), n.round(s, 1e3)
},
suggestMonthlyInvestment: function(t, e, a, r) {
var u = Math.pow(1 + a, e),
i = t * u,
o = (r - i) * a / (u - 1);
return o = Math.ceil(Math.min(Math.max(o, 100), r)), n.round(o, 50)
}
}, t.monthlyIncome = {
suggestGoalIncome: function(t) {
return n.round(t, 100)
},
suggestGoalTime: function(t) {
return t > 45 ? null : Math.min(Math.max(60 - t, 8), 60)
},
suggestInitialInvestment: function(t, e, a, r) {
var u = .05 * t,
i = Math.pow(1 + a, e),
o = u * ((i - 1) / a),
s = (r - o) / i;
return s = Math.ceil(Math.min(Math.max(s, 1e3), r)), n.round(s, 1e3)
},
suggestMonthlyInvestment: function(t, e, a, r) {
var u = Math.pow(1 + a, e),
i = t * u,
o = (r - i) * a / (u - 1);
return o = Math.ceil(Math.min(Math.max(o, 100), r)), n.round(o, 10)
}
}, t.free = {}
}();
! function() {
if (String.prototype.startsWith || (String.prototype.startsWith = function(n, t) {
return t = t || 0, this.substr(t, n.length) === n
}), "performance" in window == !1 && (window.performance = {}), Date.now = Date.now || function() {
return (new Date).getTime()
}, "now" in window.performance == !1) {
var n = Date.now();
performance.timing && performance.timing.navigationStart && (n = performance.timing.navigationStart), window.performance.now = function() {
return Date.now() - n
}
}
}();
this.warren = this.warren || {}, this.warren.utils = this.warren.utils || {},
function() {
"use strict";
var e = warren.utils;
e.clamp = function(e, t, n) {
return Math.min(Math.max(e, t), n)
}, e.getEnumValues = function(e) {
var t = [];
for (var n in e) t.push(e[n]);
return t
}, e.toTitleCase = function(e) {
return e.replace(/\w\S*/g, function(e) {
return e.charAt(0).toUpperCase() + e.substr(1).toLowerCase()
})
}, e.toCapitalCase = function(e) {
return e[0].toUpperCase() + e.slice(1).toLowerCase()
}, e.bankAccountToString = function(e) {
var t = warren.enums.Bank[e.bank],
n = e.number;
return t = t.replace(" S/A", ""), n = n.slice(0, 4), t + " (" + n + "*)"
}, e.deepmerge = function(t, n) {
var r = Array.isArray(n),
a = r && [] || {};
return r ? (t = t || [], a = a.concat(t), n.forEach(function(n, r) {
"undefined" == typeof a[r] ? a[r] = n : "object" == typeof n ? a[r] = e.deepmerge(t[r], n) : t.indexOf(n) === -1 && a.push(n)
})) : (t && "object" == typeof t && Object.keys(t).forEach(function(e) {
a[e] = t[e]
}), Object.keys(n).forEach(function(r) {
"object" == typeof n[r] && n[r] && t[r] ? a[r] = e.deepmerge(t[r], n[r]) : a[r] = n[r]
})), a
}, e.deepcopy = function(e) {
return JSON.parse(JSON.stringify(e))
}, e.deepdiff = function(t, n) {
var r = {};
if (!t) return n;
for (var a in n)
if ("undefined" != typeof t[a])
if (null !== n[a]) {
var o = null;
Array.isArray(n[a]) ? r[a] = n[a] : "object" == typeof n[a] ? (o = e.deepdiff(t[a], n[a]), Object.keys(o).length > 0 && (r[a] = o)) : t[a] !== n[a] && (r[a] = n[a])
} else null !== t[a] && (r[a] = null);
else r[a] = n[a];
return r
}, e.dataUriToBlob = function(e) {
var t;
t = e.split(",")[0].indexOf("base64") >= 0 ? atob(e.split(",")[1]) : unescape(e.split(",")[1]);
for (var n = e.split(",")[0].split(":")[1].split(";")[0], r = new Uint8Array(t.length), a = 0; a < t.length; a++) r[a] = t.charCodeAt(a);
return new Blob([r], {
type: n
})
}, e.getElementHeight = function(e) {
return e.offsetHeight
}, e.getElementOuterHeight = function(e) {
var t = e.offsetHeight,
n = getComputedStyle(e);
return t += parseInt(n.marginTop) + parseInt(n.marginBottom)
}, e.getGlobalOffset = function(e) {
for (var t = 0, n = 0; e;) t += e.offsetLeft, n += e.offsetTop, e = e.offsetParent;
return {
left: t,
top: n
}
}, e.getDocumentTop = function() {
return window.pageYOffset ? window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0
}, e.isSafari = function() {
var e = navigator.userAgent.toLowerCase();
return e.indexOf("safari") != -1 && e.indexOf("chrome") < 0
}, e.browserVersion = function() {
var e, t = navigator.userAgent,
n = t.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
return /trident/i.test(n[1]) ? (e = /\brv[ :]+(\d+)/g.exec(t) || [], parseInt(e[1])) : "Chrome" === n[1] && (e = t.match(/\b(OPR|Edge)\/(\d+)/), null != e) ? parseInt(e.slice(1)[1]) : (n = n[2] ? [n[1], n[2]] : [navigator.appName, navigator.appVersion, "-?"], null != (e = t.match(/version\/(\d+)/i)) && n.splice(1, 1, e[1]), parseInt(n[1]))
}, e.isNumber = function(e) {
return !isNaN(parseFloat(e))
}, e.notTypewriter = function(e) {
return e.replace(/\^\d+/g, "")
}, e.addClass = function(e, t) {
var n = new RegExp("(\\s+|\\b)" + t + "(\\b)", "gi");
n.test(e.className) || (e.className += " " + t)
}, e.hasClass = function(e, t) {
var n = new RegExp("(\\s+|\\b)" + t + "(\\b)", "gi");
return !!n.test(e.className)
}, e.removeClass = function(e, t) {
var n = new RegExp("(\\s+|\\b)" + t + "(\\b)", "gi");
e.className = e.className.replace(n, "")
}, e.isDraggingFile = function(e) {
var t = e.dataTransfer || e.orinalEvent && e.orinalEvent.dataTransfer;
return !!t && !!(t.types && t.types.length && "files" === t.types[0].toLowerCase() || t.files && t.files.length)
}, e.isMobile = function() {
var e = !1;
return function(t) {
(/(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|android|ipad|playbook|silk/i.test(t) || /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(t.substr(0, 4))) && (e = !0)
}(navigator.userAgent || navigator.vendor || window.opera), e
}
}();
! function(t) {
function n() {
if (!(this instanceof n)) return new n
}
var e = t.Moip || {};
t.Moip = e, n.prototype = {
calculateAccount: function(t) {
for (var n = t.split(""), e = 0, o = 0; o < n.length; o++) seq = 9 - o, e += parseInt(n[o]) * seq;
return this.module(e)
},
calculateAgency: function(t) {
for (var n = t.split(""), e = 0, o = 0; o < n.length; o++) seq = 5 - o, e += parseInt(n[o]) * seq;
return this.module(e)
},
module: function(t) {
var n = 11 - t % 11;
return 10 === n ? "X" : 11 === n ? "0" : n.toString()
}
}, e.BancoDoBrasilCheckNumberCalculator = n()
}(window);
! function(n) {
function c() {
if (!(this instanceof c)) return new c
}
var e = n.Moip || {};
n.Moip = e, c.prototype = {
agencyNumberIsValid: function(n) {
return e.CommonBankAccountValidator.agencyNumberIsValid(n)
},
agencyCheckNumberIsValid: function(n) {
return n.length == this.agencyCheckNumberLength() && e.CommonBankAccountValidator.agencyCheckNumberIsValid(n)
},
accountNumberIsValid: function(n) {
return n.length == this.accountNumberLength() && e.CommonBankAccountValidator.accountNumberIsValid(n)
},
accountCheckNumberIsValid: function(n) {
return e.CommonBankAccountValidator.accountCheckNumberIsValid(n)
},
agencyCheckNumberMatch: function(n) {
var c = e.BancoDoBrasilCheckNumberCalculator.calculateAgency(n.agencyNumber);
return c === n.agencyCheckNumber.toUpperCase()
},
accountCheckNumberMatch: function(n) {
var c = e.BancoDoBrasilCheckNumberCalculator.calculateAccount(n.accountNumber);
return "X" == c && "0" == n.accountCheckNumber.toUpperCase() || c === n.accountCheckNumber.toUpperCase()
},
agencyNumberMsgError: function() {
return e.CommonBankAccountValidator.agencyNumberMsgError()
},
agencyCheckNumberMsgError: function() {
return e.CommonBankAccountValidator.agencyCheckNumberMsgError(this.agencyCheckNumberLength())
},
accountNumberMsgError: function() {
return e.CommonBankAccountValidator.accountNumberMsgError(this.accountNumberLength())
},
agencyCheckNumberLength: function() {
return 1
},
accountNumberLength: function() {
return 8
}
}, e.BancoDoBrasilValidator = c()
}(window);
! function(a) {
function e() {
if (!(this instanceof e)) return new e
}
var c = a.Moip || {};
a.Moip = c, e.prototype = {
validator: function(a) {
var e = {
"001": c.BancoDoBrasilValidator,
237: c.BradescoValidator,
341: c.ItauValidator,
"033": c.SantanderValidator,
"041": c.BanrisulValidator,
745: c.CitibankValidator,
399: c.HSBCValidator
};
return e[a] ? e[a] : c.GenericBankAccountValidator
},
validate: function(a) {
var e = [],
n = this.validator(a.bankNumber);
n.accountNumberLength && a.accountNumber.length < n.accountNumberLength() && (a.accountNumber = "0".repeat(n.accountNumberLength() - a.accountNumber.length) + a.accountNumber), c.GenericBankAccountValidator.bankNumberIsValid(a.bankNumber) || e.push({
description: "Banco inválido",
code: "INVALID_BANK_NUMBER"
}), n.agencyNumberIsValid(a.agencyNumber) || e.push({
description: n.agencyNumberMsgError(),
code: "INVALID_AGENCY_NUMBER"
}), n.agencyCheckNumberIsValid(a.agencyCheckNumber) || e.push({
description: n.agencyCheckNumberMsgError(),
code: "INVALID_AGENCY_CHECK_NUMBER"
}), n.accountNumberIsValid(a.accountNumber) || e.push({
description: n.accountNumberMsgError(),
code: "INVALID_ACCOUNT_NUMBER"
}), n.accountCheckNumberIsValid(a.accountCheckNumber) || e.push({
description: "Dígito da conta corrente inválido",
code: "INVALID_ACCOUNT_CHECK_NUMBER"
}), n.agencyNumberIsValid(a.agencyNumber) && n.agencyCheckNumberIsValid(a.agencyCheckNumber) && (n.agencyCheckNumberMatch(a) || e.push({
description: "Dígito da agência não corresponde ao número da agência preenchido",
code: "AGENCY_CHECK_NUMBER_DONT_MATCH"
})), n.accountNumberIsValid(a.accountNumber) && n.accountCheckNumberIsValid(a.accountCheckNumber) && (n.accountCheckNumberMatch(a) || e.push({
description: "Dígito da conta não corresponde ao número da conta/agência preenchido",
code: "ACCOUNT_CHECK_NUMBER_DONT_MATCH"
})), 0 === e.length ? a.valid() : a.invalid({
errors: e
})
}
}, c.BankAccount = e()
}(window);
! function(t) {
function n() {
if (!(this instanceof n)) return new n
}
var i = t.Moip || {};
t.Moip = i, n.prototype = {
calculateAccount: function(t) {
for (var n = t.split(""), i = 0, r = 0; r < n.length; r++) {
var e = parseInt(n[r]);
i += this.multiplyAccordingWeight(e, r)
}
return this.moduleAccount(i)
},
multiplyAccordingWeight: function(t, n) {
var i = [3, 2, 4, 7, 6, 5, 4, 3, 2];
return t * i[n]
},
moduleAccount: function(t) {
var n = t % 11;
return 0 === n ? "0" : 1 === n ? "6" : (11 - n).toString()
},
calculateAgency: function(t) {
var n = t.split(""),
i = this.firstAgencyDigit(n),
r = this.secondAgencyDigit(n, i);
return i + r
},
firstAgencyDigit: function(t) {
for (var n = 0, i = 0, r = 0; r < t.length; r++) {
var e = parseInt(t[r]);
i = this.multiplyAccordingParity(e, r), i = this.adjustAccordingLength(i), n += i
}
return this.moduleAgencyFirstDigit(n)
},
secondAgencyDigit: function(t, n) {
t.push(n);
for (var i = 0, r = 0; r < t.length; r++) seq = 6 - r, i += parseInt(t[r]) * seq;
var e = this.moduleAgencySecondDigit(i);
return "1" === e && (9 != n ? n += 1 : n = 0, this.secondAgencyDigit(t, n)), e
},
multiplyAccordingParity: function(t, n) {
return t * (n % 2 === 0 ? 1 : 2)
},
adjustAccordingLength: function(t) {
if (t > 9) {
var n = t.toString().split("");
t = 0;
for (var i = 0; i < n.length; i++) t += parseInt(n[i])
}
return t
},
moduleAgencyFirstDigit: function(t) {
var n = t % 10;
return 0 === n ? "0" : (10 - n).toString()
},
moduleAgencySecondDigit: function(t) {
var n = t % 11;
return 0 === n ? "0" : 1 === n ? "1" : (11 - n).toString()
}
}, i.BanrisulCheckNumberCalculator = n()
}(window);
! function(n) {
function c() {
if (!(this instanceof c)) return new c
}
var r = n.Moip || {};
n.Moip = r, c.prototype = {
agencyNumberIsValid: function(n) {
return r.CommonBankAccountValidator.agencyNumberIsValid(n)
},
agencyCheckNumberIsValid: function(n) {
return n.length == this.agencyCheckNumberLength() && r.GenericBankAccountValidator.agencyCheckNumberIsValid(n)
},
accountNumberIsValid: function(n) {
return n.length == this.accountNumberLength() && r.CommonBankAccountValidator.accountNumberIsValid(n)
},
accountCheckNumberIsValid: function(n) {
return r.CommonBankAccountValidator.accountCheckNumberIsValid(n)
},
agencyCheckNumberMatch: function(n) {
var c = r.BanrisulCheckNumberCalculator.calculateAgency(n.agencyNumber);
return c === n.agencyCheckNumber
},
accountCheckNumberMatch: function(n) {
var c = r.BanrisulCheckNumberCalculator.calculateAccount(n.accountNumber);
return c === n.accountCheckNumber
},
agencyNumberMsgError: function() {
return r.CommonBankAccountValidator.agencyNumberMsgError()
},
agencyCheckNumberMsgError: function() {
return r.CommonBankAccountValidator.agencyCheckNumberMsgError(this.agencyCheckNumberLength())
},
accountNumberMsgError: function() {
return r.CommonBankAccountValidator.accountNumberMsgError(this.accountNumberLength())
},
agencyCheckNumberLength: function() {
return 2
},
accountNumberLength: function() {
return 9
}
}, r.BanrisulValidator = c()
}(window);
! function(t) {
function n() {
if (!(this instanceof n)) return new n
}
var r = t.Moip || {};
t.Moip = r, n.prototype = {
calculateAccount: function(t) {
for (var n = t.split(""), r = 0, e = 0; e < n.length; e++) {
var c = parseInt(n[e]);
r += this.multiplyAccordingWeight(c, e)
}
return this.accountModule(r)
},
multiplyAccordingWeight: function(t, n) {
var r = [2, 7, 6, 5, 4, 3, 2];
return t * r[n]
},
accountModule: function(t) {
var n = t % 11;
return 0 === n ? "0" : 1 === n ? "P" : (11 - n).toString()
},
calculateAgency: function(t) {
for (var n = t.split(""), r = 0, e = 0; e < n.length; e++) seq = 5 - e, r += parseInt(n[e]) * seq;
return this.agencyModule(r)
},
agencyModule: function(t) {
var n = 11 - t % 11;
return 10 === n ? "P" : 11 === n ? "0" : n.toString()
}
}, r.BradescoCheckNumberCalculator = n()
}(window);
! function(n) {
function c() {
if (!(this instanceof c)) return new c
}
var e = n.Moip || {};
n.Moip = e, c.prototype = {
agencyNumberIsValid: function(n) {
return e.CommonBankAccountValidator.agencyNumberIsValid(n)
},
agencyCheckNumberIsValid: function(n) {
return n.length == this.agencyCheckNumberLength() && e.CommonBankAccountValidator.agencyCheckNumberIsValid(n)
},
accountNumberIsValid: function(n) {
return n.length == this.accountNumberLength() && e.CommonBankAccountValidator.accountNumberIsValid(n)
},
accountCheckNumberIsValid: function(n) {
return e.CommonBankAccountValidator.accountCheckNumberIsValid(n)
},
agencyCheckNumberMatch: function(n) {
var c = e.BradescoCheckNumberCalculator.calculateAgency(n.agencyNumber),
r = n.agencyCheckNumber.toUpperCase();
return "0" === r && (r = "P"), c === r
},
accountCheckNumberMatch: function(n) {
var c = e.BradescoCheckNumberCalculator.calculateAccount(n.accountNumber);
return "P" == c && "0" == n.accountCheckNumber.toUpperCase() || c === n.accountCheckNumber.toUpperCase()
},
agencyNumberMsgError: function() {
return e.CommonBankAccountValidator.agencyNumberMsgError()
},
agencyCheckNumberMsgError: function() {
return e.CommonBankAccountValidator.agencyCheckNumberMsgError(this.agencyCheckNumberLength())
},
accountNumberMsgError: function() {
return e.CommonBankAccountValidator.accountNumberMsgError(this.accountNumberLength())
},
agencyCheckNumberLength: function() {
return 1
},
accountNumberLength: function() {
return 7
}
}, e.BradescoValidator = c()
}(window);
! function(n) {
function r() {
if (!(this instanceof r)) return new r
}
var c = n.Moip || {};
n.Moip = c, r.prototype = {
agencyNumberIsValid: function(n) {
return c.CommonBankAccountValidator.agencyNumberIsValid(n)
},
agencyCheckNumberIsValid: function(n) {
return void 0 === n || "" === n
},
accountNumberIsValid: function(n) {
return n.length == this.accountNumberLength() && c.CommonBankAccountValidator.accountNumberIsValid(n)
},
accountCheckNumberIsValid: function(n) {
return c.CommonBankAccountValidator.accountCheckNumberIsValid(n)
},
agencyCheckNumberMatch: function(n) {
return !0
},
accountCheckNumberMatch: function(n) {
return !0
},
agencyNumberMsgError: function() {
return c.CommonBankAccountValidator.agencyNumberMsgError()
},
agencyCheckNumberMsgError: function() {
return c.CommonBankAccountValidator.agencyCheckNumberMsgError()
},
accountNumberMsgError: function() {
return c.CommonBankAccountValidator.accountNumberMsgError(this.accountNumberLength())
},
accountNumberLength: function() {
return 7
}
}, c.CitibankValidator = r()
}(window);
! function(e) {
function n() {
if (!(this instanceof n)) return new n
}
var r = e.Moip || {};
e.Moip = r, n.prototype = {
agencyNumberIsValid: function(e) {
return /^(?!0000)([0-9]{4})$/.test(e)
},
agencyCheckNumberIsValid: function(e) {
return /^[a-zA-Z0-9]{0,1}$/.test(e)
},
accountNumberIsValid: function(e) {
return /^[0-9]{1,12}$/.test(e) && parseInt(e) > 0
},
accountCheckNumberIsValid: function(e) {
return /^[a-zA-Z0-9]{1}$/.test(e)
},
agencyNumberMsgError: function(e) {
return void 0 === e && (e = this.agencyNumberLength()), "A agência deve conter " + e + " números. Complete com zeros a esquerda se necessário."
},
agencyCheckNumberMsgError: function(e) {
return void 0 === e || 0 === e ? "O dígito da agência deve ser vazio" : 1 === e ? "O dígito da agência deve conter 1 dígito" : "O dígito da agência deve conter " + e + " números. Complete com zeros a esquerda se necessário."
},
accountNumberMsgError: function(e) {
return "A conta corrente deve conter " + e + " números. Complete com zeros a esquerda se necessário."
},
agencyNumberLength: function() {
return 4
}
}, r.CommonBankAccountValidator = n()
}(window);
! function(n) {
function t() {
if (!(this instanceof t)) return new t
}
var r = n.Moip || {};
n.Moip = r, t.prototype = {
bankNumberIsValid: function(n) {
return /^([0-9-A-Za-x]{3,5})$/.test(n)
},
agencyNumberIsValid: function(n) {
return /^[0-9]{1,5}$/.test(n) && parseInt(n) > 0
},
agencyCheckNumberIsValid: function(n) {
return /^[a-zA-Z0-9]{0,2}$/.test(n)
},
accountNumberIsValid: function(n) {
return /^[0-9]{1,12}$/.test(n) && parseInt(n) > 0
},
accountCheckNumberIsValid: function(n) {
return /^[a-zA-Z0-9]{0,2}$/.test(n)
},
agencyCheckNumberMatch: function(n) {
return !0
},
accountCheckNumberMatch: function(n) {
return !0
},
agencyNumberMsgError: function(n) {
return "Agência inválida"
},
agencyCheckNumberMsgError: function() {
return "Dígito da agência inválido"
},
accountNumberMsgError: function(n) {
return "Conta corrente inválida"
}
}, r.GenericBankAccountValidator = t()
}(window);
! function(n) {
function r() {
if (!(this instanceof r)) return new r
}
var c = n.Moip || {};
n.Moip = c, r.prototype = {
agencyNumberIsValid: function(n) {
return c.CommonBankAccountValidator.agencyNumberIsValid(n)
},
agencyCheckNumberIsValid: function(n) {
return void 0 === n || "" === n
},
accountNumberIsValid: function(n) {
return n.length == this.accountNumberLength() && c.CommonBankAccountValidator.accountNumberIsValid(n)
},
accountCheckNumberIsValid: function(n) {
return !0
},
agencyCheckNumberMatch: function(n) {
return !0
},
accountCheckNumberMatch: function(n) {
return !0
},
agencyNumberMsgError: function() {
return c.CommonBankAccountValidator.agencyNumberMsgError()
},
agencyCheckNumberMsgError: function() {
return c.CommonBankAccountValidator.agencyCheckNumberMsgError()
},
accountNumberMsgError: function() {
return c.CommonBankAccountValidator.accountNumberMsgError(this.accountNumberLength())
},
accountNumberLength: function() {
return 6
}
}, c.HSBCValidator = r()
}(window);
! function(t) {
function n() {
if (!(this instanceof n)) return new n
}
var r = t.Moip || {};
t.Moip = r, n.prototype = {
calculate: function(t, n) {
for (var r = (t + n).split(""), i = 0, o = 0, u = 0; u < r.length; u++) {
var c = parseInt(r[u]);
o = this.multiplyAccordingParity(c, u), o = this.adjustAccordingLength(o), i += o
}
return this.module(i)
},
multiplyAccordingParity: function(t, n) {
return t * (n % 2 === 0 ? 2 : 1)
},
adjustAccordingLength: function(t) {
if (t > 9) {
var n = t.toString().split("");
t = 0;
for (var r = 0; r < n.length; r++) t += parseInt(n[r])
}
return t
},
module: function(t) {
var n = t % 10;
return 0 === n ? "0" : (10 - n).toString()
}
}, r.ItauCheckNumberCalculator = n()
}(window);
! function(n) {
function r() {
if (!(this instanceof r)) return new r
}
var c = n.Moip || {};
n.Moip = c, r.prototype = {
agencyNumberIsValid: function(n) {
return c.CommonBankAccountValidator.agencyNumberIsValid(n)
},
agencyCheckNumberIsValid: function(n) {
return void 0 === n || "" === n
},
accountNumberIsValid: function(n) {
return n.length == this.accountNumberLength() && c.CommonBankAccountValidator.accountNumberIsValid(n)
},
accountCheckNumberIsValid: function(n) {
return c.CommonBankAccountValidator.accountCheckNumberIsValid(n)
},
agencyCheckNumberMatch: function(n) {
return !0
},
accountCheckNumberMatch: function(n) {
var r = c.ItauCheckNumberCalculator.calculate(n.agencyNumber, n.accountNumber);
return r === n.accountCheckNumber
},
agencyNumberMsgError: function() {
return c.CommonBankAccountValidator.agencyNumberMsgError()
},
agencyCheckNumberMsgError: function() {
return c.CommonBankAccountValidator.agencyCheckNumberMsgError()
},
accountNumberMsgError: function() {
return c.CommonBankAccountValidator.accountNumberMsgError(this.accountNumberLength())
},
accountNumberLength: function() {
return 5
}
}, c.ItauValidator = r()
}(window);
! function(n) {
function r() {
if (!(this instanceof r)) return new r
}
var c = n.Moip || {};
n.Moip = c, r.prototype = {
agencyNumberIsValid: function(n) {
return c.CommonBankAccountValidator.agencyNumberIsValid(n)
},
agencyCheckNumberIsValid: function(n) {
return void 0 === n || "" === n
},
accountNumberIsValid: function(n) {
return n.length == this.accountNumberLength() && c.CommonBankAccountValidator.accountNumberIsValid(n)
},
accountCheckNumberIsValid: function(n) {
return c.CommonBankAccountValidator.accountCheckNumberIsValid(n)
},
agencyCheckNumberMatch: function(n) {
return !0
},
accountCheckNumberMatch: function(n) {
return !0
},
agencyNumberMsgError: function() {
return c.CommonBankAccountValidator.agencyNumberMsgError()
},
agencyCheckNumberMsgError: function() {
return c.CommonBankAccountValidator.agencyCheckNumberMsgError()
},
accountNumberMsgError: function() {
return c.CommonBankAccountValidator.accountNumberMsgError(this.accountNumberLength())
},
accountNumberLength: function() {
return 8
}
}, c.SantanderValidator = r()
}(window);
this.warren = this.warren || {}, this.warren.utils = this.warren.utils || {}, this.warren.utils.easing = this.warren.utils.easing || {},
function() {
"use strict";
function t(t) {
return function(n, u, r) {
return r = Math.pow(r, t), (1 - r) * n + r * u
}
}
function n(t) {
return function(n, u, r) {
return r = 1 - Math.pow(1 - r, t), (1 - r) * n + r * u
}
}
function u(t) {
return function(n, u, r) {
return r = (r *= 2) < 1 ? .5 * Math.pow(r, t) : 1 - .5 * Math.abs(Math.pow(2 - r, t)), (1 - r) * n + r * u
}
}
var r = warren.utils.easing;
r.lerp = function(t, n, u) {
return (1 - u) * t + u * n
}, r.linear = r.lerp, r.quadIn = t(2), r.quadOut = n(2), r.quadInOut = u(2), r.cubicIn = t(3), r.cubicOut = n(3), r.cubicInOut = u(3), r.quartIn = t(4), r.quartOut = n(4), r.quartInOut = u(4), r.quintIn = t(5), r.quintOut = n(5), r.quintInOut = u(5), r.sineIn = function(t, n, u) {
return u = 1 - Math.cos(u * Math.PI / 2), (1 - u) * t + u * n
}, r.sineOut = function(t, n, u) {
return u = Math.sin(u * Math.PI / 2), (1 - u) * t + u * n
}, r.sineInOut = function(t, n, u) {
return u = -.5 * (Math.cos(Math.PI * u) - 1), (1 - u) * t + u * n
}
}();
this.warren = this.warren || {}, this.warren.utils = this.warren.utils || {}, this.warren.utils.random = this.warren.utils.random || {},
function() {
"use strict";
var r = warren.utils.random;
r.choice = function(r) {
return r[Math.floor(r.length * Math.random())]
}
}();
this.warren = this.warren || {}, this.warren.utils = this.warren.utils || {}, this.warren.utils.search = this.warren.utils.search || {},
function() {
"use strict";
var e = warren.utils.search;
e.allFilter = function(e, r, t, n) {
n = n || {};
for (var s = "undefined" == typeof n.maxResults ? -1 : n.maxResults, a = [], i = 0; i < r.length; i++) {
var u = r[i];
t && (u = t(u)), a.push(u)
}
return s >= 0 && (a = a.slice(0, s)), a
}, e.exactFilter = function(r, t, n, s) {
if (!r) return e.allFilter(r, t, n, s);
s = s || {};
var a = "undefined" == typeof s.ignoreCase || s.ignoreCase,
i = "undefined" == typeof s.trim || s.trim,
u = "undefined" == typeof s.maxResults ? -1 : s.maxResults;
a && (r = r.toLowerCase()), i && (r = r.trim());
for (var l = [], f = 0; f < t.length; f++) {
var h = t[f];
a && (h = h.toLowerCase()), 0 === h.indexOf(r) && (n && (h = n(h)), l.push(h))
}
return u >= 0 && (l = l.slice(0, u)), l
}, e.fuzzyFilter = function(r, t, n, s) {
if (!r) return e.allFilter(r, t, n, s);
s = s || {}, s.maxPatternLength || (s.maxPatternLength = 100);
for (var a = "undefined" == typeof s.maxResults ? -1 : s.maxResults, i = new Fuse(t, s), u = i.search(r), l = [], f = 0; f < u.length; f++) {
var h = t[u[f]];
n && (h = n(h)), l.push(h)
}
return a >= 0 && (l = l.slice(0, a)), l
}
}();
angular.module("warren", ["ngMessages", "ngAnimate", "ngFileUpload", "ui.router", "ui.mask", "ngMask", "templates", "resources", "angular.filter", "720kb.tooltips", "warren.common.directives.autoresize", "warren.common.directives.charts.donutchart", "warren.common.directives.charts.futurechart", "warren.common.directives.charts.barchart", "warren.common.directives.charts.performancechart", "warren.common.directives.charts.fundchart", "warren.common.directives.curtain", "warren.common.directives.date", "warren.common.directives.escape", "warren.common.directives.focusif", "warren.common.directives.jumpwith", "warren.common.directives.script", "warren.common.directives.smoothscroll", "warren.common.directives.sticky", "warren.common.directives.typewrite", "warren.common.directives.inputrisk", "warren.common.directives.keepbottom", "warren.common.directives.showafter", "warren.common.directives.focusafter", "warren.common.directives.whenscrolled", "warren.common.filters.asset", "warren.common.filters.cpf", "warren.common.filters.safehtml", "warren.common.filters.money", "warren.common.filters.percentage", "warren.common.filters.reverse", "warren.common.filters._s", "warren.common.filters._sa", "warren.common.filters._qs", "warren.common.filters._link", "warren.common.filters._value", "warren.common.filters.notypewriter", "warren.common.filters.trust", "warren.common.filters.datetime", "warren.common.masks.currency", "warren.common.masks.bankcurrency", "warren.common.models.portfolio", "warren.common.models.transaction", "warren.common.models.user", "warren.common.models.post", "warren.common.models.invites", "warren.common.models.notifications", "warren.common.models.crm", "warren.common.services.analytics", "warren.common.services.dialog", "warren.common.services.backend", "warren.common.services.context", "warren.common.services.crash", "warren.common.services.facebook", "warren.common.services.flash", "warren.common.services.history", "warren.common.services.maps", "warren.common.services.moip", "warren.common.services.session", "warren.common.services.smoothscroll", "warren.common.services.resources", "warren.common.services.webcam", "warren.common.services.connectionflash", "warren.common.services.clipboard", "warren.common.services.moment", "warren.common.services.weekdays", "warren.common.services.chartist", "warren.common.services.c3", "warren.common.services.waitlist", "warren.common.services.path", "warren.common.services.promise", "warren.common.services.zendesk", "warren.common.services.theme", "warren.common.validators.cpf", "warren.common.validators.date", "warren.common.validators.maxdate", "warren.common.validators.mindate", "warren.common.validators.whitelist", "warren.common.validators.match", "warren.common.validators.minstrings", "warren.common.validators.email", "warren.common.validators.any", "warren.common.validators.all", "warren.common.validators.minvalue", "warren.components.account.bankaccounts", "warren.components.account.contacts", "warren.components.account.documents", "warren.components.account.finances", "warren.components.account.personal", "warren.components.dashheader", "warren.components.header", "warren.components.loader", "warren.components.stylemenu", "warren.components.suitability", "warren.components.suitability.buttons", "warren.components.suitability.input", "warren.components.suitability.message", "warren.components.wizard", "warren.components.usermenu", "warren.components.notifications", "warren.components.sharepanel", "warren.pages.404", "warren.pages.incognito", "warren.pages.about", "warren.pages.builder", "warren.pages.builder.chat", "warren.pages.builder.edit", "warren.pages.builder.summary", "warren.pages.builder.name", "warren.pages.dash", "warren.pages.startregisterfaq", "warren.pages.history", "warren.pages.home", "warren.pages.line", "warren.pages.lineplace", "warren.pages.lineregister", "warren.pages.ricometro", "warren.pages.ricometroResult", "warren.pages.loseometer", "warren.pages.loseometerResult", "warren.pages.teaser", "warren.pages.portfolio", "warren.pages.portfolio.edit", "warren.pages.portfolio.editgroup", "warren.pages.portfolio.directives.deposit", "warren.pages.portfolio.directives.invoice", "warren.pages.portfolio.directives.withdraw", "warren.pages.portfolio.directives.photos", "warren.pages.portfoliogroupaccept", "warren.pages.portfoliogroupinvites", "warren.pages.post", "warren.pages.posts", "warren.pages.profile", "warren.pages.register", "warren.pages.register.directives.fadein", "warren.pages.register.step1", "warren.pages.register.step2", "warren.pages.register.step3", "warren.pages.register.step4", "warren.pages.reset", "warren.pages.resetpassword", "warren.pages.setup", "warren.pages.instantlogin", "warren.pages.instantloginintranet", "warren.pages.signin", "warren.pages.signout", "warren.pages.signup", "warren.pages.style", "warren.pages.style.assets", "warren.pages.style.buttons", "warren.pages.style.colors", "warren.pages.style.components", "warren.pages.style.forms", "warren.pages.style.javascript", "warren.pages.style.layout", "warren.pages.style.typography", "warren.pages.suitability", "warren.pages.team", "warren.pages.transactions", "warren.pages.deposits", "warren.pages.fundsdata", "warren.pages.deposit", "warren.pages.invoice", "warren.pages.withdraw", "warren.pages.withdrawals", "warren.pages.user", "warren.pages.user.account", "warren.pages.user.contact", "warren.pages.user.email", "warren.pages.user.notifications", "warren.pages.user.password", "warren.pages.user.riskprofile", "warren.pages.user.terms", "warren.pages.user.quotes", "warren.pages.quotes", "warren.pages.unsubscribe", "warren.pages.verifiedemail", "warren.pages.test"]);
! function() {
"use strict";
angular.module("warren").constant("config", {
app: {
wizard: {
timeout: 1500
},
connection: {
timeslow: 1e4,
timeout: 3e4,
timeretry: 2e3
}
},
google: {
analytics: {
key: "UA-57376500-2"
}
},
facebook: {
appId: "1636715299924634",
apiVersion: "v2.5"
},
environment: {
key: "prd",
name: "production",
port: "443",
api: "https://api.oiwarren.com",
assets: "http://test.oiwarren.com.s3-website-us-east-1.amazonaws.com/"
},
stylesheets: {
app: "app-pink-3b47c9b.css",
vendor: "vendor-55db1cd.min.css"
}
}), angular.module("warren").value("uiMaskConfig", {
maskDefinitions: {
9: /\d/,
A: /[a-zA-Z]/,
"*": /[a-zA-Z0-9]/
},
clearOnBlur: !1,
eventsToHandle: ["input", "keyup", "click", "focus"]
})
}();
angular.module("warren").config(["$compileProvider", function(n) {
n.debugInfoEnabled(!1), n.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|whatsapp):/)
}]).run(["wrnAnalytics", function(n) {
try {
n.start()
} catch (n) {}
}]).run(["$rootScope", "$state", function(n, t) {
n.noScrollBody = !1, n.setScrollBody = function(t) {
"undefined" == typeof t ? n.noScrollBody = !n.noScrollBody : n.noScrollBody = t
}, n.getCurrentRoute = function() {
var n = t.current.name,
e = n.indexOf("_");
return e > 0 ? n.substring(0, e) : n
}
}]).run(["$rootScope", "wrnSmoothScroll", function(n, t) {
n.$on("$stateChangeSuccess", function(e, o, r, i, c) {
t.toPosition(0), n.setScrollBody(!1)
})
}]).run(["$rootScope", "wrnAnalytics", function(n, t) {
n.event = function(n, e, o, r) {
if (n && e) try {
t.event(n, e, o, r)
} catch (n) {}
}, n.timing = function(n, e, o, r) {
if (n && e && o) try {
t.timing(n, e, o, r)
} catch (n) {}
}
}]).run(["$rootScope", "$state", "wrnSession", "wrnUser", "$q", "wrnTheme", function(n, t, e, o, r, i) {
function c(n, c, a, s, u) {
if (c.auth)
if (e.isEmpty("accounts.accessToken")) {
var f = c.name;
n.preventDefault(), t.go("signin", {
backTo: f,
params: JSON.stringify(a)
})
} else r.all([o.become()]).then(function(n) {
var e = o.isBlack() ? "black" : "pink";
i.setTheme(e), n[0].goWaitList && t.go("dash")
}, function(n) {
console.error(n), "discardAccessToken" === n.suggestedAction && (e.remove("accounts.accessToken"), e.remove("session.welcome"), t.go("signin"))
})
}
n.$on("$stateChangeStart", c)
}]).run(["$rootScope", "wrnResources", function(n, t) {
n._s = t.getString, n._sa = t.getStringArray, n._qs = t.getQuantityString, n._v = t.getValue
}]).run(["$rootScope", "wrnClipboard", function(n, t) {
n.isSafari = warren.utils.isSafari, n.supportsCopy = t.isSupported
}]).run([function() {
window.addEventListener("keydown", function(n) {
if ("U+0008" === n.key || "Backspace" === n.key || 8 === n.keyCode) {
var t = n.target.nodeName.toLowerCase();
if ("input" !== t && "textarea" !== t || "checkbox" === n.target.type || "radio" === n.target.type) return n.preventDefault(), !1
} else if ("Enter" === n.key || 13 === n.keyCode) {
var e = document.getElementById("wrnClickOnEnter");
if (e) try {
e.click()
} catch (n) {}
}
}, !0)
}]);
! function() {
"use strict";
angular.module("warren").config(["$stateProvider", "$urlRouterProvider", function(e, t) {
t.when("", "/dash"), e.state("home", {
url: "/?affiliate&home&referralId",
template: "<warren-home></warren-home>"
}).state("loseometer", {
url: "/descubra",
template: "<warren-loseometer></warren-loseometer>"
}).state("ricometro", {
url: "/aproveitando-a-vida",
template: "<warren-ricometro></warren-ricometro>"
}).state("line", {
url: "/fila",
template: "<warren-line></warren-line>"
}).state("lineplace", {
url: "/fila/seu-lugar",
template: "<warren-lineplace></warren-lineplace>"
}).state("lineregister", {
url: "/fila/cadastro",
template: "<warren-lineregister></warren-lineregister>",
params: {
name: null,
email: null
}
}).state("loseometer-result", {
url: "/descubra/resultado",
template: "<warren-loseometer-result></warren-loseometer-result>",
params: {
salary: null
}
}).state("ricometro-result", {
url: "/aproveitando-a-vida/resultado",
template: "<warren-ricometro-result></warren-ricometro-result>",
params: {
salary: null
}
}).state("teaser", {
url: "/teaser?affiliate",
template: "<warren-teaser></warren-teaser>"
}).state("test", {
url: "/__test",
template: "<warren-test></warren-test>"
}).state("about", {
url: "/sobre",
template: "<warren-about></warren-about>"
}).state("funds-data", {
url: "/fundos",
template: "<warren-funds-data></warren-funds-data>"
}).state("team", {
url: "/time",
template: "<warren-team></warren-team>"
}).state("profile", {
url: "/profile/:profile?suitability",
template: "<warren-profile></warren-profile>"
}).state("signin", {
url: "/signin?backTo&params",
template: "<warren-signin></warren-signin>"
}).state("instantlogin", {
url: "/instant-login/:hash?backTo&params",
template: "<warren-instant-login></warren-instant-login>"
}).state("instantloginintranet", {
url: "/instant-login-intranet/:hash?backTo&params",
template: "<warren-instant-login-intranet></warren-instant-login-intranet>"
}).state("signup", {
url: "/signup",
template: "<warren-signup></warren-signup>"
}).state("signout", {
url: "/signout",
template: "<warren-signout></warren-signout>"
}).state("setup", {
url: "/setup/:token?backTo",
template: "<warren-setup></warren-setup>"
}).state("summary", {
url: "/summary",
template: "<warren-summary></warren-summary>"
}).state("reset", {
url: "/reset",
template: "<warren-reset></warren-reset>"
}).state("reset-password", {
url: "/reset-password/:token",
template: "<warren-reset-password></warren-reset-password>"
}).state("suitability", {
url: "/suitability?affiliate&home&referralId&context",
template: "<warren-suitability></warren-suitability>"
}).state("verifiedemail", {
url: "/verify-email/:hash",
template: "<warren-verifiedemail></warren-verifiedemail>"
}).state("post", {
url: "/post/:id?backTo",
template: "<warren-post></warren-post>"
}).state("posts", {
url: "/posts",
template: "<warren-posts></warren-posts>"
}).state("unsubscribe", {
url: "/unsubscribe/:token",
template: "<warren-unsubscribe></warren-unsubscribe>"
}).state("portfoliogroupaccept", {
url: "/portfolio-group-accept/:id/:token",
template: "<warren-portfolio-group-accept></warren-portfolio-group-accept>"
}).state("dash", {
url: "/dash",
template: "<warren-dash></warren-dash>",
auth: !0
}).state("startregisterfaq", {
url: "/cadastro-faq",
template: "<warren-start-register-faq></warren-start-register-faq>",
auth: !0
}).state("builder", {
url: "/builder",
template: "<warren-builder></warren-builder>",
auth: !0
}).state("register", {
url: "/register",
template: "<warren-register></warren-register>",
auth: !0
}).state("portfolio", {
url: "/portfolio/:id?action&deposit&invoice",
template: "<warren-portfolio></warren-portfolio>",
auth: !0
}).state("portfoliogroupinvites", {
url: "/portfolio-invites/:id?builder",
template: "<warren-portfolio-group-invites></warren-portfolio-group-invites>",
auth: !0
}).state("history", {
url: "/history",
template: "<warren-history></warren-history>",
auth: !0
}).state("transactions", {
url: "/transactions/:id?choice",
template: "<warren-transactions></warren-transactions>",
auth: !0
}).state("deposits", {
url: "/deposits/:id?backTo",
template: "<warren-deposits></warren-deposits>",
auth: !0
}).state("deposit", {
url: "/deposit/:id",
template: "<warren-deposit></warren-deposit>",
auth: !0
}).state("invoice", {
url: "/invoice/:id",
template: "<warren-invoice></warren-invoice>",
auth: !0
}).state("withdraw", {
url: "/withdraw/:id",
template: "<warren-withdraw></warren-withdraw>",
auth: !0
}).state("withdrawals", {
url: "/withdrawals/:id?backTo",
template: "<warren-withdrawals></warren-withdrawals>",
auth: !0
}).state("user", {
url: "/user",
template: "<warren-user></warren-user>",
abstract: !0,
auth: !0
}).state("user.account", {
url: "/account",
template: "<warren-user-account></warren-user-account>",
auth: !0
}).state("user.riskprofile", {
url: "/riskprofile",
template: "<warren-user-riskprofile></warren-user-riskprofile>",
auth: !0
}).state("user.email", {
url: "/email",
template: "<warren-user-email></warren-user-email>",
auth: !0
}).state("user.password", {
url: "/password",
template: "<warren-user-password></warren-user-password>",
auth: !0
}).state("user.contact", {
url: "/contact",
template: "<warren-user-contact></warren-user-contact>",
auth: !0
}).state("user.notifications", {
url: "/notifications",
template: "<warren-user-notifications></warren-user-notifications>",
auth: !0
}).state("user.terms", {
url: "/terms",
template: "<warren-user-terms></warren-user-terms>",
auth: !0
}).state("user.quotes", {
url: "/meus-investimentos",
template: "<warren-user-quotes></warren-user-quotes>",
auth: !0
}).state("quotes", {
url: "/quotes/:fundId",
template: "<warren-quotes></warren-quotes>",
auth: !0
}).state("404", {
url: "/404",
template: "<warren-404></warren-404>"
}).state("incognito", {
url: "/incognito",
template: "<warren-incognito></warren-incognito>"
}).state("style", {
url: "/style",
template: "<warren-style></warren-style>"
}).state("style-typography", {
url: "/style/typography",
template: "<warren-style-typography></warren-style-typography>"
}).state("style-buttons", {
url: "/style/buttons",
template: "<warren-style-buttons></warren-style-buttons>"
}).state("style-assets", {
url: "/style/assets",
template: "<warren-style-assets></warren-style-assets>"
}).state("style-colors", {
url: "/style/colors",
template: "<warren-style-colors></warren-style-colors>"
}).state("style-layout", {
url: "/style/layout",
template: "<warren-style-layout></warren-style-layout>"
}).state("style-forms", {
url: "/style/forms",
template: "<warren-style-forms></warren-style-forms>"
}).state("style-components", {
url: "/style/components",
template: "<warren-style-components></warren-style-components>"
}).state("style-javascript", {
url: "/style/javascript",
template: "<warren-style-javascript></warren-style-javascript>"
}), t.otherwise(function(e) {
var t = e.get("$state");
t.go("404", null, {
location: !1
})
})
}])
}();
! function() {
"use strict";
function a(a, t, e, r, n) {
function o(t, e, o, i) {
function s() {
var a, o = ["x"],
i = ["projection"],
s = ["warren"],
u = [];
if (t.isFull) {
var h, p;
for (a = 0; a < t.dateRange.length - 1; a++) h = n(t.dateRange[a]).month(), p = n(t.dateRange[a + 1]).month(), p != h && (o.push(n(t.dateRange[a]).format("MMM/YY")), u.push(a));
for (o.push(n(t.dateRange[t.dateRange.length - 1]).format("MMM/YY")), u.push(t.dateRange.length - 1), a = 0; a < u.length; a++) 0 == u[a] ? (i.push(t.projectionData[u[a]]), s.push(t.warrenData[u[a]])) : (i.push(t.projectionData[u[a]] - t.projectionData[u[a] - 1]), s.push(t.warrenData[u[a]] - t.warrenData[u[a] - 1]))
} else {
for (a = 0; a < t.dateRange.length; a++) o.push(n(t.dateRange[a]).format("DD MMM YY")), u.push(a);
for (i.push(t.projectionData[0]), a = 1; a < t.projectionData.length; a++) i.push(t.projectionData[a] - t.projectionData[a - 1]);
for (t.warrenData[0] && s.push(t.warrenData[0]), a = 1; a < t.warrenData.length; a++) s.push(t.warrenData[a] - t.warrenData[a - 1])
}
l = r.generate({
grid: {
lines: {
front: !1
},
x: {
show: !1
},
y: {
show: !1,
lines: [{
value: 0,
text: "",
position: "start"
}]
}
},
bindto: e.children()[0],
padding: {
right: 20,
left: 20
},
data: {
colors: {
projection: "#696A75",
warren: "#0581FF"
},
type: "bar",
x: "x",
names: {
projection: "Projetado",
warren: t.isVirtual ? "Rendimentos previstos" : "Realizado"
},
columns: [o, i, s]
},
axis: {
x: {
type: "categories",
tick: {
values: [0, Math.floor((u.length - 1) / 2), u.length - 1]
}
},
y: {
show: !1,
tick: {
count: 4,
format: function(a, t, e) {
var r = c.format(".2%");
return r(a).replace(".", ",")
}
}
}
},
tooltip: {
format: {
value: function(a, t, e) {
var r = c.format(".2%");
return r(a).replace(".", ",")
}
}
}
})
}
var l = null,
c = a.d3;
s()
}
return {
restrict: "E",
template: '<div class="wrn-line-chart wrn-bar-chart"></div>',
link: o,
scope: {
dateRange: "=",
warrenData: "=",
projectionData: "=",
warrenEnabled: "=",
savingsEnabled: "=",
projectionEnabled: "=",
isVirtual: "=",
isFull: "="
}
}
}
angular.module("warren.common.directives.charts.barchart", []).directive("wrnBarChart", a), a.$inject = ["$window", "$filter", "$timeout", "c3", "moment"]
}();
! function() {
"use strict";
function t(t) {
function n(n, r, e, a) {
function c() {
return (o = t.d3) ? (g = n.radius || 40, l = 2 * g, d = 2 * g, h = n.thickness || 8, A = n.transition || 300, f = n.data || [], v = o.select(r.children()[0]).attr("width", l).attr("height", d).attr("viewBox", "0 0 " + l + " " + d).classed("wrn-chart wrn-chart-donut", !0), p = v.append("g").attr("transform", "translate(" + l / 2 + ", " + d / 2 + ")"), w = o.svg.arc().innerRadius(g - h - 1).outerRadius(g - 1).startAngle(function(t) {
return t.startAngle
}).endAngle(function(t) {
return t.endAngle
}), void n.$watch("data", function(t) {
i(t)
})) : void console.error("D3 has not been loaded!")
}
function i(t) {
var n = p.selectAll(".arc").data(u(t));
n.transition().duration(A).attr("class", function(t, n) {
return "arc arc-" + n
}).attrTween("d", s), n.enter().append("path").attr("class", function(t, n) {
return "arc arc-" + n
}).attr("d", w).each(function(t) {
this._curStartAngle = t.startAngle, this._curEndAngle = t.endAngle
})
}
function s(t, n) {
var r = this,
e = o.interpolate(r._curStartAngle, t.startAngle),
a = o.interpolate(r._curEndAngle, t.endAngle);
return r._curStartAngle = t.startAngle, r._curEndAngle = t.endAngle,
function(t) {
var r = {
startAngle: e(t),
endAngle: a(t)
};
return w(r, n)
}
}
function u(t) {
var n, r = [],
e = 2 * Math.PI,
a = o.sum(t);
for (n = 0; n < t.length; n++) t[n] = t[n] / a;
var c = 0,
i = 0;
for (n = 0; n < t.length; n++) {
var s = t[n];
c = i, i += e * s, r.push({
startAngle: c,
endAngle: i
})
}
return r
}
var o, l, d, g, h, A, f, v, p, w;
c()
}
return {
restrict: "E",
template: "<svg></svg>",
link: n,
scope: {
data: "=",
radius: "=",
thickness: "=",
transition: "="
}
}
}
angular.module("warren.common.directives.charts.donutchart", []).directive("wrnDonutChart", t), t.$inject = ["$window"]
}();
! function() {
"use strict";
function n(n, t, e, r, a) {
function i(t, e, i, o) {
function f() {
var n = ["x"],
i = ["#EE2E5D", "#FF9001", "#00B563", "#0581FF", "#6960DA"],
o = {},
f = {},
h = [];
h.push(n);
for (var u = 0; u < t.info.chart.label.length; u++) {
var d = t.info.chart.label[u].slice(0, -1);
n.push(a(d).format("DD MMM YY"))
}
if (t.infoLength > 1) {
for (var s = 1; s < Object.keys(t.info.chart.data).length / i.length; s++) i = i.concat(i);
for (var s = 0; s < t.info.performances.length; s++) {
var g = t.info.performances[s];
o[g.fund] = i[s], f[g.fund] = g.fundName, h.push([g.fund].concat(t.info.chart.data[g.fund]))
}
} else {
for (var s = 1; s < t.info.fundId / i.length; s++) i = i.concat(i);
o[t.info.fund] = i[t.info.fundId - 1], f[t.info.fund] = t.info.fundName, h.push([t.info.fund].concat(t.info.chart.data[t.info.fund]))
}
c = r.generate({
grid: {
lines: {
front: !1
},
x: {
show: !1
},
y: {
show: !1,
lines: [{
value: 0,
text: "",
position: "start"
}]
}
},
bindto: t.infoLength > 1 ? e[0].children[0] : e[0].children[1],
padding: {
right: 20,
left: 20
},
data: {
type: "area",
x: "x",
colors: o,
names: f,
columns: h
},
axis: {
x: {
type: "categories",
tick: {
values: [0, Math.floor((t.info.chart.label.length - 1) / 2), t.info.chart.label.length - 1]
}
},
y: {
show: !1,
tick: {
count: 4,
format: function(n, t, e) {
var r = l.format(".2%");
return r(n).replace(".", ",")
}
}
}
},
tooltip: {
format: {
value: function(n, t, e) {
var r = l.format(".2%");
return r(n).replace(".", ",")
}
}
}
}), 1 == t.infoLength && c.legend.hide(t.info.fund)
}
var c = null,
l = n.d3;
f()
}
return {
restrict: "E",
template: '<div class="wrn-line-chart wrn-line-chart-fund wrn-line-chart-fund-multiple" ng-show="infoLength > 1"></div><div class="wrn-line-chart wrn-line-chart-fund wrn-line-chart-fund-single" ng-show="infoLength == 1"></div>',
link: i,
scope: {
info: "=",
infoLength: "="
}
}
}
angular.module("warren.common.directives.charts.fundchart", []).directive("wrnFundChart", n), n.$inject = ["$window", "$filter", "$timeout", "c3", "moment"]
}();
! function() {
"use strict";
function n(n, e, a, t, r) {
function o(a, r, o, i) {
function s() {
var n = m(),
o = {
warrenMin: "Mínimo esperado Warren",
warrenMax: "Máximo esperado Warren",
warren: "Warren"
},
i = [
["x"].concat(n.x), ["warren"].concat(n.warren), ["warrenMax"].concat(n.warrenMax), ["warrenMin"].concat(n.warrenMin)
];
a.goalAmount && (o.goal = "Objetivo", i.push(["goal"].concat(n.goal))), g = t.generate({
grid: {
lines: {
front: !1
},
x: {
show: !1
},
y: {
show: !1,
lines: [{
value: 0,
text: "",
position: "start"
}]
}
},
bindto: r[0].children[0],
padding: {
right: 20,
left: 20,
bottom: 20
},
data: {
colors: {
warren: "#0581FF",
warrenMin: "#92C8FF",
warrenMax: "#92C8FF",
goal: "#00B563"
},
type: "area",
x: "x",
names: o,
columns: i
},
axis: {
x: {
tick: {
count: 3,
fit: !0,
format: u,
values: [0, 12 * a.goalYears, n.x[n.x.length - 1]]
}
},
y: {
padding: {
bottom: 0
},
min: 0,
show: !1
}
},
tooltip: {
format: {
value: function(n, a, t) {
return n = Math.round(n), e("money")(n, "R$ ", 0)
}
}
}
}), g.legend.hide("warrenMin"), g.legend.hide("warrenMax"), w = !0
}
function l() {
function n(n) {
w && c()
}
a.$watch("goalAmount", n), a.$watch("goalYears", n), a.$watch("interest", n), a.$watch("minInterest", n), a.$watch("maxInterest", n), a.$watch("initialInvestment", n), a.$watch("monthlyInvestment", n)
}
function c() {
var n = m(),
e = [
["x"].concat(n.x), ["warren"].concat(n.warren), ["warrenMax"].concat(n.warrenMax), ["warrenMin"].concat(n.warrenMin)
];
a.goalAmount && e.push(["goal"].concat(n.goal)), g.internal.config.axis_x_tick_values = [0, 12 * a.goalYears, n.x[n.x.length - 1]], g.load({
columns: e
})
}
function u(n) {
if (0 === n) return "Hoje";
if (n < 12) return 1 === n ? parseInt(n) + " mes" : parseInt(n) + " meses";
var e = Math.floor(n / 12),
a = Math.floor(n % 12),
t = e;
return t += 1 === e ? " ano" : " anos", 1 === a ? t += " e " + a + " mes" : a > 1 && (t += " e " + a + " meses"), t
}
function m() {
var n, e = [],
t = [],
r = [],
o = [],
i = [];
n = a.goalYears > 50 ? a.goalYears + 10 : a.goalYears > 40 ? a.goalYears + 4 : a.goalYears > 30 ? a.goalYears + 3 : a.goalYears > 20 ? a.goalYears + 5 : a.goalYears > 15 ? a.goalYears + 10 : 2 * a.goalYears, n *= 12;
for (var s = 0; s < n + 1; s++) e.push(s), t.push(a.goalAmount), r.push(warren.finance.futureValue(a.initialInvestment, s, a.interest, a.monthlyInvestment)), o.push(warren.finance.futureValue(a.initialInvestment, s, a.minInterest, a.monthlyInvestment)), i.push(warren.finance.futureValue(a.initialInvestment, s, a.maxInterest, a.monthlyInvestment));
return {
x: e,
warren: r,
warrenMin: o,
warrenMax: i,
goal: t
}
}
var w = !1,
g = null;
n.d3;
l(), s()
}
return {
restrict: "E",
template: '<div class="wrn-line-chart wrn-line-chart-future"></div>',
link: o,
scope: {
goalAmount: "=",
goalYears: "=",
interest: "=",
minInterest: "=",
maxInterest: "=",
initialInvestment: "=",
monthlyInvestment: "=",
fnSimulation: "&"
}
}
}
angular.module("warren.common.directives.charts.futurechart", []).directive("wrnFutureChart", n), n.$inject = ["$window", "$filter", "$timeout", "c3", "moment"]
}();
! function() {
"use strict";
function a(a, t, r) {
function e(e, n) {
function o() {
for (var a = 0; a < e.data.chart.label.length; a++) {
var o = e.data.chart.label[a];
o = r(o.substring(6, 10) + "-" + o.substring(3, 5) + "-" + o.substring(0, 2)).format("DD MMM YY"), "Invalid date" != o && (e.data.chart.label[a] = o)
}
c = t.generate({
grid: {
lines: {
front: !1
},
x: {
show: !1
},
y: {
show: !1,
lines: [{
value: 0,
text: "",
position: "start"
}]
}
},
bindto: n.children()[0],
padding: {
right: 20,
left: 20
},
data: {
colors: {
projection: "#52525C",
warren: "#0581FF"
},
type: "area",
x: "x",
names: {
projection: "Projetado",
warren: e.isVirtual ? "Rendimentos previstos" : "Realizado"
},
columns: [
["x"].concat(e.data.chart.label), ["projection"].concat(e.data.chart.data.projection), ["warren"].concat(e.data.chart.data.portfolio)
]
},
axis: {
x: {
type: "categories",
tick: {
values: [0, Math.floor((e.data.chart.label.length - 1) / 2), e.data.chart.label.length - 1]
}
},
y: {
show: !1,
tick: {
format: function(a, t, r) {
var e = i.format(".2%");
return e(a).replace(".", ",")
}
}
}
},
tooltip: {
format: {
value: function(a, t, r) {
var e = i.format(".2%");
return e(a).replace(".", ",")
}
}
}
})
}
var c = null,
i = a.d3;
e.$watch("data", function() {
o()
})
}
return {
restrict: "E",
template: '<div class="wrn-line-chart wrn-line-chart-performance"></div>',
link: e,
scope: {
data: "=",
isVirtual: "="
}
}
}
angular.module("warren.common.directives.charts.performancechart", []).directive("wrnPerformanceChart", a), a.$inject = ["$window", "c3", "moment"]
}();
! function() {
"use strict";
function e(e, n) {
function t(e, t, o, s) {
function i() {
if (e.options) {
u = {};
var n = e.options.types;
n && (u.types = Array.isArray(n) ? n.slice() : [n]), d.setTypes(n || ["(cities)"]);
var t = e.options.bounds;
t && (u.bounds = t), d.setBounds(t || null);
var o = e.options.country;
u.componentRestrictions = {
country: o || "br"
}, d.setComponentRestrictions(u.componentRestrictions)
}
}
function r() {
var e = d.getPlace();
e && e.address_components && (e = n.parseGeocoderResult(e), a(e))
}
function a(n) {
e.$apply(function() {
s.$setViewValue(t.val()), e.mapsChange && e.mapsChange()(n)
})
}
function c(e) {
var n = e.keyCode || e.which;
if (9 === n && a({
address: t.val()
}), 13 === n) return e.preventDefault(), !1
}
var p = n.getMaps();
if (p) {
var u = {
types: ["address"]
},
d = new p.places.Autocomplete(t[0], u);
p.event.addListener(d, "place_changed", r), t.bind("keypress keydown", c), s.$render = function() {
t.val(s.$viewValue)
}, e.$watch("options", function() {
i()
}, !0)
}
}
return {
require: "ngModel",
scope: {
ngModel: "=",
options: "=?",
mapsChange: "&"
},
link: t
}
}
angular.module("warren").directive("mapsAutocomplete", e), e.$inject = ["$parse", "wrnMaps"]
}();
angular.module("ui.mask", []).value("uiMaskConfig", {
maskDefinitions: {
9: /\d/,
A: /[a-zA-Z]/,
"*": /[a-zA-Z0-9]/
},
clearOnBlur: !0,
eventsToHandle: ["input", "keyup", "click", "focus"]
}).directive("uiMask", ["$parse", "uiMaskConfig", function(e, n) {
function t(e) {
return e === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
}
return {
priority: 100,
require: "ngModel",
restrict: "A",
compile: function() {
var r = n;
return function(n, i, a, u) {
function o(e) {
return angular.isDefined(e) ? (y(e), K ? (d(), v(), !0) : h()) : h()
}
function l(e) {
e && (R = e, K && i.val(b(m(i.val()))))
}
function c() {
return o(a.uiMask)
}
function s(e) {
return K ? (F = m(e || ""), z = p(F), u.$setValidity("mask", z), z && F.length ? b(F) : void 0) : e
}
function f(e) {
if (!K) return e;
if (F = m(e || ""), z = p(F), u.$viewValue = F.length ? b(F) : "", u.$setValidity("mask", z), "" === F && a.required && u.$setValidity("required", !u.$error.required), z) {
var n = J ? u.$viewValue : F;
return n ? n : null
}
}
function h() {
return K = !1, g(), angular.isDefined(W) ? i.attr("placeholder", W) : i.removeAttr("placeholder"), angular.isDefined(G) ? i.attr("maxlength", G) : i.removeAttr("maxlength"), i.val(u.$modelValue), u.$viewValue = u.$modelValue, !1
}
function d() {
F = B = m(u.$modelValue || ""), H = Z = b(F), z = p(F), a.maxlength && i.attr("maxlength", 2 * C[C.length - 1]), W || i.attr("placeholder", R);
for (var e = u.$modelValue, n = 0; n < u.$formatters.length; n++) e = u.$formatters[n](e);
u.$viewValue = e || "", u.$render()
}
function v() {
N || (i.bind("blur", w), i.bind("mousedown mouseup", E), i.bind(Q.eventsToHandle.join(" "), O), i.bind("paste", V), N = !0)
}
function g() {
N && (i.unbind("blur", w), i.unbind("mousedown", E), i.unbind("mouseup", E), i.unbind("input", O), i.unbind("keyup", O), i.unbind("click", O), i.unbind("focus", O), i.unbind("paste", V), N = !1)
}
function p(e) {
return !e.length || e.length >= q
}
function m(e) {
var n = "",
t = _.slice();
return e = e.toString(), angular.forEach(T, function(n) {
e = e.replace(n, "")
}), angular.forEach(e.split(""), function(e) {
t.length && t[0].test(e) && (n += e, t.shift())
}), n
}
function b(e) {
var n = "",
t = C.slice();
return angular.forEach(R.split(""), function(r, i) {
e.length && i === t[0] ? (n += e.charAt(0) || "_", e = e.substr(1), t.shift()) : n += r
}), n
}
function k(e) {
var n, t = angular.isDefined(a.uiMaskPlaceholder) ? a.uiMaskPlaceholder : a.placeholder;
return "undefined" != typeof t && t[e] ? t[e] : (n = angular.isDefined(a.uiMaskPlaceholderChar) && a.uiMaskPlaceholderChar ? a.uiMaskPlaceholderChar : "_", "space" === n.toLowerCase() ? " " : n[0])
}
function $() {
return R.replace(/[_]+/g, "_").replace(/([^_]+)([a-zA-Z0-9])([^_])/g, "$1$2_$3").split("_")
}
function y(e) {
var n = 0;
if (C = [], _ = [], R = "", "string" == typeof e) {
q = 0;
var t = !1,
r = 0,
i = e.split("");
angular.forEach(i, function(e, i) {
Q.maskDefinitions[e] ? (C.push(n), R += k(i - r), _.push(Q.maskDefinitions[e]), n++, t || q++) : "?" === e ? (t = !0, r++) : (R += e, n++)
})
}
C.push(C.slice().pop() + 1), T = $(), K = C.length > 1
}
function w() {
Q.clearOnBlur && (L = 0, I = 0, z && 0 !== F.length || (H = "", i.val(""), n.$apply(function() {
u.$setViewValue("")
}))), F !== U && M(i[0]), U = F
}
function M(e) {
var n;
"function" != typeof window.Event || e.fireEvent ? "createEvent" in document ? (n = document.createEvent("HTMLEvents"), n.initEvent("change", !1, !0), e.dispatchEvent(n)) : e.fireEvent && e.fireEvent("onchange") : (n = new Event("change", {
view: window,
bubbles: !0,
cancelable: !1
}), e.dispatchEvent(n))
}
function E(e) {
"mousedown" === e.type ? i.bind("mouseout", x) : i.unbind("mouseout", x)
}
function x() {
I = S(this), i.unbind("mouseout", x)
}
function V() {
P(this, i.val().length)
}
function O(e) {
e = e || {};
var t = e.which,
r = e.type;
if (16 !== t && 91 !== t) {
var a, l = i.val(),
c = Z,
s = B,
f = D(this) || 0,
h = L || 0,
d = f - h;
j && o(j(l || ""));
var v = m(l),
g = C[0],
p = C[v.length] || C.slice().shift(),
k = I || 0,
$ = S(this) > 0,
y = k > 0,
w = l.length > c.length || k && l.length > c.length - k,
M = l.length < c.length || k && l.length === c.length - k,
E = t >= 37 && t <= 40 && e.shiftKey,
x = 37 === t,
V = 8 === t || "keyup" !== r && M && d === -1,
O = 46 === t || "keyup" !== r && M && 0 === d && !y,
_ = (x || V || "click" === r) && f > g;
if (I = S(this), !E && (!$ || "click" !== r && "keyup" !== r)) {
if ("input" === r && M && !y && v === s) {
for (; V && f > g && !A(f);) f--;
for (; O && f < p && C.indexOf(f) === -1;) f++;
var R = C.indexOf(f);
v = v.substring(0, R) + v.substring(R + 1)
}
for (a = b(v), Z = a, B = v, i.val(a), n.$apply(function() {
u.$setViewValue(v)
}), w && f <= g && (f = g + 1), _ && f--, f = f > p ? p : f < g ? g : f; !A(f) && f > g && f < p;) f += _ ? -1 : 1;
(_ && f < p || w && !A(h)) && f++, L = f, P(this, f)
}
}
}
function A(e) {
return C.indexOf(e) > -1
}
function D(e) {
if (!e) return 0;
if (void 0 !== e.selectionStart) return e.selectionStart;
if (document.selection && t(i[0])) {
e.focus();
var n = document.selection.createRange();
return n.moveStart("character", e.value ? -e.value.length : 0), n.text.length
}
return 0
}
function P(e, n) {
if (!e) return 0;
if (0 !== e.offsetWidth && 0 !== e.offsetHeight)
if (e.setSelectionRange) t(i[0]) && (e.focus(), e.setSelectionRange(n, n));
else if (e.createTextRange) {
var r = e.createTextRange();
r.collapse(!0), r.moveEnd("character", n), r.moveStart("character", n), r.select()
}
}
function S(e) {
return e ? void 0 !== e.selectionStart ? e.selectionEnd - e.selectionStart : document.selection ? document.selection.createRange().text.length : 0 : 0
}
var C, _, R, T, j, q, F, H, z, Z, B, L, I, K = !1,
N = !1,
W = a.placeholder,
G = a.maxlength;
a.wrnMaskFn && (j = e(a.wrnMaskFn)(n));
var J = !1;
a.$observe("modelViewValue", function(e) {
"true" === e && (J = !0)
});
var Q = {};
a.uiOptions ? (Q = n.$eval("[" + a.uiOptions + "]"), Q = angular.isObject(Q[0]) ? function(e, n) {
for (var t in e) Object.prototype.hasOwnProperty.call(e, t) && (void 0 === n[t] ? n[t] = angular.copy(e[t]) : angular.isObject(n[t]) && !angular.isArray(n[t]) && (n[t] = angular.extend({}, e[t], n[t])));
return n
}(r, Q[0]) : r) : Q = r, a.$observe("uiMask", o), angular.isDefined(a.uiMaskPlaceholder) ? a.$observe("uiMaskPlaceholder", l) : a.$observe("placeholder", l), angular.isDefined(a.uiMaskPlaceholderChar) && a.$observe("uiMaskPlaceholderChar", c), u.$formatters.unshift(s), u.$parsers.unshift(f);
var U = i.val();
i.bind("mousedown mouseup", E), Array.prototype.indexOf || (Array.prototype.indexOf = function(e) {
if (null === this) throw new TypeError;
var n = Object(this),
t = n.length >>> 0;
if (0 === t) return -1;
var r = 0;
if (arguments.length > 1 && (r = Number(arguments[1]), r !== r ? r = 0 : 0 !== r && r !== 1 / 0 && r !== -(1 / 0) && (r = (r > 0 || -1) * Math.floor(Math.abs(r)))), r >= t) return -1;
for (var i = r >= 0 ? r : Math.max(t - Math.abs(r), 0); i < t; i++)
if (i in n && n[i] === e) return i;
return -1
})
}
}
}
}]);
angular.module("warren").directive("massAutocomplete", ["$timeout", "$window", "$document", "$q", function(e, t, n, o) {
"use strict";
return {
restrict: "A",
scope: {
options: "&massAutocomplete"
},
transclude: !0,
template: '<span ng-transclude></span><div class="ac-container" ng-show="show_autocomplete && results.length > 0" style="position:absolute;"><ul class="ac-menu"><li ng-repeat="result in results" ng-if="$index > 0" class="ac-menu-item" ng-class="$index == selected_index ? \'ac-state-focus\': \'\'"><a href ng-click="apply_selection($index)" ng-bind-html="result.label"></a></li></ul></div>',
link: function(e, t) {
e.container = angular.element(t[0].getElementsByClassName("ac-container")[0])
},
controller: ["$scope", function(l) {
function s(e, t, n) {
var o;
return function() {
var l = this,
s = arguments,
c = function() {
o = null, n || e.apply(l, s)
},
a = n && !o;
clearTimeout(o), o = setTimeout(c, t), a && e.apply(l, s)
}
}
function c() {
if (h) {
var e = h[0].getBoundingClientRect(),
o = (n[0].body.scrollTop || n[0].documentElement.scrollTop || t.pageYOffset, n[0].body.scrollLeft || n[0].documentElement.scrollLeft || t.pageXOffset, l.container[0]);
o.style.top = e.height + 20 + "px", o.style.width = e.width + "px"
}
}
function a(e, t, o) {
h !== t && (h && p.detach(), t[0] === n[0].activeElement && (o.on_attach && o.on_attach(), h = t, g = e, w = o, b = e.$viewValue, l.results = [], l.selected_index = -1, d(), v = l.$watch(function() {
return e.$modelValue
}, function(e, t) {
e === E && "undefined" != typeof e || (c(), R(e, h))
}), o.show_on_focus && R(e.$modelValue, h)))
}
function u(e, t) {
e = e || "", l.selected_index = 0, l.waiting_for_suggestion = !0, "string" == typeof e ? o.when(w.suggest(e), function(n) {
h && h === t && (n && n.length > 0 ? (l.results = [{
value: e,
label: ""
}].concat(n), l.show_autocomplete = !0, w.auto_select_first && r(1)) : l.results = [])
}, function(e) {
l.show_autocomplete = !1, w.on_error && w.on_error(e)
}).finally(function() {
l.waiting_for_suggestion = !1
}) : (l.waiting_for_suggestion = !1, l.show_autocomplete = !1, l.$apply())
}
function i(e) {
g.$modelValue !== e && (g.$setViewValue(e), g.$render())
}
function r(e) {
var t = l.results[e];
return h.val(t.value), l.selected_index = e, t
}
function d() {
angular.element(t).bind(f.RESIZE, x), m[f.BLUR] = function() {
e(function() {
h && h[0] === n[0].activeElement || p.detach()
}, $.debounce_blur)
}, h.bind(f.BLUR, m[f.BLUR]), m[f.KEYDOWN] = function(e) {
if (!e.shiftKey) switch (e.keyCode) {
case _.ESC:
l.show_autocomplete ? (l.show_autocomplete = !1, l.$apply()) : h.val(b);
break;
case _.ENTER:
l.show_autocomplete && l.selected_index > 0 && !l.waiting_for_suggestion && (l.apply_selection(l.selected_index), e.stopPropagation(), e.preventDefault()), l.show_autocomplete = !1, l.$apply();
break;
case _.TAB:
if (!l.show_autocomplete) break;
e.preventDefault();
case _.DOWN:
l.results.length > 0 && (l.show_autocomplete ? r(l.selected_index + 1 > l.results.length - 1 ? 0 : l.selected_index + 1) : (l.show_autocomplete = !0, l.selected_index = 0), l.$apply());
break;
case _.UP:
l.show_autocomplete && (e.preventDefault(), r(l.selected_index - 1 >= 0 ? l.selected_index - 1 : l.results.length - 1), l.$apply())
}
}, h.bind(f.KEYDOWN, m[f.KEYDOWN])
}
var p = this,
_ = {
TAB: 9,
ESC: 27,
ENTER: 13,
UP: 38,
DOWN: 40
},
f = {
KEYDOWN: "keydown",
RESIZE: "resize",
BLUR: "blur"
},
m = {};
m[f.BLUR] = null, m[f.KEYDOWN] = null, m[f.RESIZE] = null;
var h, g, w, b, v, E, y = l.options() || {},
$ = {
debounce_position: y.debounce_position || 150,
debounce_attach: y.debounce_attach || 300,
debounce_suggest: y.debounce_suggest || 100,
debounce_blur: y.debounce_blur || 150
};
l.show_autocomplete = !1;
var x = s(c, $.debounce_position);
p.attach = s(a, $.debounce_attach);
var R = s(u, $.debounce_suggest);
p.detach = function() {
if (h) {
var e = h.val();
i(e), w.on_detach && w.on_detach(e), h.unbind(f.KEYDOWN, m[f.KEYDOWN]), h.unbind(f.BLUR, m[f.BLUR])
}
l.show_autocomplete = !1, angular.element(t).unbind(f.RESIZE, m[f.RESIZE]), v && v(), l.selected_index = l.results = void 0, g = h = b = void 0
}, l.apply_selection = function(e) {
if (h[0].focus(), !(!l.show_autocomplete || e > l.results.length || e < 0)) {
var t = r(e);
E = t.value, i(t.value), l.show_autocomplete = !1, w.on_select && w.on_select(t)
}
}, l.$on("$destroy", function() {
p.detach(), l.container.remove()
})
}]
}
}]).directive("massAutocompleteItem", function() {
"use strict";
return {
restrict: "A",
require: ["^massAutocomplete", "ngModel"],
scope: {
massAutocompleteItem: "&"
},
link: function(e, t, n, o) {
n.$set("autocomplete", "off"), t.bind("focus", function() {
var n = e.massAutocompleteItem();
if (!n) throw "Invalid options";
o[0].attach(o[1], t, n)
})
}
}
});
! function(t, o) {
"use strict";
var e = "tooltips",
i = function() {
var t = [],
e = 0,
i = function(o) {
o - e >= 15 && (t.forEach(function(t) {
t()
}), e = o)
},
r = function() {
o.requestAnimationFrame(i)
},
l = function(o) {
o && t.push(o)
};
return {
add: function(e) {
t.length || o.addEventListener("resize", r), l(e)
}
}
}(),
r = function(t) {
var o = {};
return t.removeAttr(e), void 0 !== t.attr("tooltip-template") && (o["tooltip-template"] = t.attr("tooltip-template"), t.removeAttr("tooltip-template")), void 0 !== t.attr("tooltip-template-url") && (o["tooltip-template-url"] = t.attr("tooltip-template-url"), t.removeAttr("tooltip-template-url")), void 0 !== t.attr("tooltip-controller") && (o["tooltip-controller"] = t.attr("tooltip-controller"), t.removeAttr("tooltip-controller")), void 0 !== t.attr("tooltip-side") && (o["tooltip-side"] = t.attr("tooltip-side"), t.removeAttr("tooltip-side")), void 0 !== t.attr("tooltip-show-trigger") && (o["tooltip-show-trigger"] = t.attr("tooltip-show-trigger"), t.removeAttr("tooltip-show-trigger")), void 0 !== t.attr("tooltip-hide-trigger") && (o["tooltip-hide-trigger"] = t.attr("tooltip-hide-trigger"), t.removeAttr("tooltip-hide-trigger")), void 0 !== t.attr("tooltip-smart") && (o["tooltip-smart"] = t.attr("tooltip-smart"), t.removeAttr("tooltip-smart")), void 0 !== t.attr("tooltip-class") && (o["tooltip-class"] = t.attr("tooltip-class"), t.removeAttr("tooltip-class")), void 0 !== t.attr("tooltip-close-button") && (o["tooltip-close-button"] = t.attr("tooltip-close-button"), t.removeAttr("tooltip-close-button")), void 0 !== t.attr("tooltip-size") && (o["tooltip-size"] = t.attr("tooltip-size"), t.removeAttr("tooltip-size")), void 0 !== t.attr("tooltip-speed") && (o["tooltip-speed"] = t.attr("tooltip-speed"), t.removeAttr("tooltip-speed")), o
},
l = function(t) {
return o.getComputedStyle ? o.getComputedStyle(t, "") : t.currentStyle ? t.currentStyle : void 0
},
n = function(e) {
for (var i, r, l = o.document.querySelectorAll("._exradicated-tooltip"), n = 0, p = l.length; n < p; n += 1)
if (i = l.item(n), i && (r = t.element(i), r.data("_tooltip-parent") && r.data("_tooltip-parent") === e)) return r
},
p = function(t) {
var o = n(t);
o && o.remove()
},
a = function(t) {
if (t) {
var e = t[0].getBoundingClientRect();
return (e.top < 0 || e.top > o.document.body.offsetHeight || e.left < 0 || e.left > o.document.body.offsetWidth || e.bottom < 0 || e.bottom > o.document.body.offsetHeight || e.right < 0 || e.right > o.document.body.offsetWidth) && (t.css({
top: "",
left: "",
bottom: "",
right: ""
}), !0)
}
throw new Error("You must provide a position")
},
d = function() {
var t = {
side: "top",
showTrigger: "mouseover",
hideTrigger: "mouseleave",
class: "",
smart: !1,
closeButton: !1,
size: "",
speed: "steady"
};
return {
configure: function(o) {
var e, i = Object.keys(t),
r = 0;
if (o)
for (; r < i.length; r += 1) e = i[r], e && o[e] && (t[e] = o[e])
},
$get: function() {
return t
}
}
},
s = ["$log", "$http", "$compile", "$timeout", "$controller", "$injector", "tooltipsConf", function(e, d, s, c, u, m, g) {
var f = function(e, m, f, h, v) {
if (f.tooltipTemplate && f.tooltipTemplateUrl) throw new Error("You can not define tooltip-template and tooltip-url together");
if (!f.tooltipTemplateUrl && !f.tooltipTemplate && f.tooltipController) throw new Error("You can not have a controller without a template or templateUrl defined");
var y, b = "_" + g.side,
_ = g.showTrigger,
C = g.hideTrigger,
w = g.size,
S = "_" + g.speed;
f.tooltipSide = f.tooltipSide || g.side, f.tooltipShowTrigger = f.tooltipShowTrigger || g.showTrigger, f.tooltipHideTrigger = f.tooltipHideTrigger || g.hideTrigger, f.tooltipClass = f.tooltipClass || g.class, f.tooltipSmart = "true" === f.tooltipSmart || g.smart, f.tooltipCloseButton = f.tooltipCloseButton || g.closeButton.toString(), f.tooltipSize = f.tooltipSize || g.size, f.tooltipWidth = f.tooltipWidth || g.width, f.tooltipSpeed = f.tooltipSpeed || g.speed, f.tooltipAppendToBody = "true" === f.tooltipAppendToBody, v(e, function(e, g) {
var h = r(e),
v = t.element(o.document.createElement("tooltip")),
T = t.element(o.document.createElement("tip-cont")),
$ = t.element(o.document.createElement("tip")),
A = t.element(o.document.createElement("tip-tip")),
x = t.element(o.document.createElement("span")),
B = t.element(o.document.createElement("tip-arrow")),
E = function() {
return T.html()
},
H = function(t) {
void 0 !== t && T[0].getClientRects().length > 1 ? v.addClass("_multiline") : v.removeClass("_multiline")
},
z = function(e) {
if ($.addClass("_hidden"), $.on("click", W), f.tooltipSmart) {
var i = {
top: ["_top", "_left", "_bottom", "_right", "_top"],
left: ["_left", "_bottom", "_right", "_top", "_left"],
bottom: ["_bottom", "_left", "_top", "_right", "_bottom"],
right: ["_right", "_top", "_left", "_bottom", "_right"]
},
r = f.tooltipSide;
if (!i[r]) throw new Error("Position not supported");
for (var n = i[r].slice(); n.length > 1 && a($);) {
var d = n.shift(),
s = n[0];
v.removeClass(d), v.addClass(s)
}
}
if (f.tooltipAppendToBody) {
var c, u, m, g, h, y = l(A[0]),
b = l(B[0]),
_ = l($[0]),
C = $[0].getBoundingClientRect(),
w = t.copy($),
S = 0,
T = y.length,
x = 0,
E = b.length,
H = 0,
z = _.length,
P = {},
V = {},
k = {};
for ($.removeClass("_hidden"), w.removeClass("_hidden"), w.data("_tooltip-parent", v), p(v); S < T; S += 1) c = y[S], c && y.getPropertyValue(c) && (P[c] = y.getPropertyValue(c));
for (; x < E; x += 1) c = b[x], c && b.getPropertyValue(c) && (k[c] = b.getPropertyValue(c));
for (; H < z; H += 1) c = _[H], c && "position" !== c && "display" !== c && "opacity" !== c && "z-index" !== c && "bottom" !== c && "height" !== c && "left" !== c && "right" !== c && "top" !== c && "width" !== c && _.getPropertyValue(c) && (V[c] = _.getPropertyValue(c));
u = o.parseInt(_.getPropertyValue("padding-top"), 10), m = o.parseInt(_.getPropertyValue("padding-bottom"), 10), g = o.parseInt(_.getPropertyValue("padding-left"), 10), h = o.parseInt(_.getPropertyValue("padding-right"), 10), V.top = C.top + o.scrollY + "px", V.left = C.left + o.scrollX + "px", V.height = C.height - (u + m) + "px", V.width = C.width - (g + h) + "px", console.log("square:", V), w.css(V), w.children().css(P), w.children().next().css(k), e && "true" !== f.tooltipHidden && (w.addClass("_exradicated-tooltip"), t.element(o.document.body).append(w))
} else f.tooltipWidth && ($[0].style.width = f.tooltipWidth), $.removeClass("_hidden"), e && "true" !== f.tooltipHidden && v.addClass("active");
var R = $[0].getBoundingClientRect(),
I = o.innerWidth || document.documentElement.clientWidth || document.body.clientWidth,
L = (o.innerHeight || document.documentElement.clientHeight || document.body.clientHeight, $[0]),
U = $[0].children[1];
R.left < 0 ? (L.style.left = "35px", U.style.marginLeft = "-33px") : R.right > I ? (L.style.left = "-35px", U.style.marginLeft = "37px") : U.style.marginLeft = "-2px"
},
W = function t() {
$.css({
top: "",
left: "",
bottom: "",
right: ""
}), $.off("click", t), f.tooltipAppendToBody ? p(v) : v.removeClass("active")
},
P = function t(o) {
var e, i = o.parent();
o[0] && (o[0].scrollHeight > o[0].clientHeight || o[0].scrollWidth > o[0].clientWidth) && o.on("scroll", function() {
var t = this;
e && c.cancel(e), e = c(function() {
var o = n(v),
e = v[0].getBoundingClientRect(),
i = t.getBoundingClientRect();
e.top < i.top || e.bottom > i.bottom || e.left < i.left || e.right > i.right ? p(v) : o && z(!0)
})
}), i && i.length && t(i)
},
V = function(t) {
t && (A.empty(), A.append(x), A.append(t), c(function() {
z()
}))
},
k = function(t) {
t && d.get(t).then(function(t) {
t && t.data && (A.empty(), A.append(x), A.append(s(t.data)(g)), c(function() {
z()
}))
})
},
R = function(t) {
t && (b && v.removeAttr("_" + b), v.addClass("_" + t), b = t)
},
I = function(t) {
t && (_ && v.off(_), v.on(t, z), _ = t)
},
L = function(t) {
t && (C && v.off(C), v.on(t, W), C = t)
},
U = function(t) {
t && (y && $.removeClass(y), $.addClass(t), y = t)
},
Y = function() {
"boolean" != typeof f.tooltipSmart && (f.tooltipSmart = "true" === f.tooltipSmart)
},
q = function(t) {
var o = "true" === t;
o ? (x.on("click", W), x.css("display", "block")) : (x.off("click"), x.css("display", "none"))
},
j = function(o) {
if (o) {
var e, i = u(o, {
$scope: g
}),
r = g.$new(!1, g),
l = o.indexOf("as");
l >= 0 ? (e = o.substr(l + 3), r[e] = i) : t.extend(r, i), A.replaceWith(s(A)(r)), Z()
}
},
O = function(t) {
t && (w && A.removeClass("_" + w), A.addClass("_" + t), w = t)
},
F = function(t) {
t && (S && v.removeClass("_" + S), v.addClass("_" + t), S = t)
},
X = f.$observe("tooltipTemplate", V),
D = f.$observe("tooltipTemplateUrl", k),
G = f.$observe("tooltipSide", R),
J = f.$observe("tooltipShowTrigger", I),
K = f.$observe("tooltipHideTrigger", L),
M = f.$observe("tooltipClass", U),
N = f.$observe("tooltipSmart", Y),
Q = f.$observe("tooltipCloseButton", q),
Z = f.$observe("tooltipController", j),
tt = f.$observe("tooltipSize", O),
ot = f.$observe("tooltipSpeed", F),
et = g.$watch(E, H);
x.attr({
id: "close-button"
}), x.html("&times;"), $.addClass("_hidden"), A.append(x), A.append(f.tooltipTemplate), $.append(A), $.append(B), T.append(e), v.attr(h), v.addClass("tooltips"), v.append(T), v.append($), m.after(v), f.tooltipAppendToBody && (i.add(function() {
P(v)
}), P(v)), i.add(function() {
H(), z()
}), c(function() {
z(), $.removeClass("_hidden"), v.addClass("_ready")
}), g.$on("$destroy", function() {
X(), D(), G(), J(), K(), M(), N(), Q(), tt(), ot(), et(), e.off(f.tooltipShowTrigger + " " + f.tooltipHideTrigger)
})
})
};
return {
restrict: "A",
transclude: "element",
priority: 1,
terminal: !0,
link: f
}
}];
t.module("720kb.tooltips", []).provider(e + "Conf", d).directive(e, s)
}(angular, window);
! function() {
"use strict";
function e(e, n) {
function t(t, i, r, u) {
function a() {
var e = angular.element("<span>" + i.val() + "</span>"),
n = i.parent();
n.append(e);
var t = i[0].getBoundingClientRect().height,
r = e[0].getBoundingClientRect().width + 20;
r = Math.max(r, t), i.css("width", r + "px"), e.remove()
}
e.document;
i.bind("input paste cut", a), t.$watch(function() {
return u.$viewValue
}, a), a(), n(a, 100)
}
return {
restrict: "A",
link: t,
require: "ngModel"
}
}
angular.module("warren.common.directives.autoresize", []).directive("wrnAutoResize", e), e.$inject = ["$window", "$timeout"]
}();
! function() {
"use strict";
function e(e, t) {
function n(n, o, i, r) {
function c() {
if (o.addClass("wrn-curtain"), "undefined" != typeof i.fixed) a = !0, o.addClass("wrn-curtain-fixed");
else {
var r = angular.element(e);
n.$on("$destroy", function() {
r.unbind("resize", u)
}), r.bind("resize", function() {
t(u, 10)
}), t(u, 10)
}
}
function u() {
var e = l.getBoundingClientRect(),
t = d();
a ? s.style.top = e.top + "px" : s.style.top = e.top + t + "px", s.style.left = e.left + "px", s.style.height = e.height + "px", s.style.width = e.width + "px"
}
function d() {
return e.pageYOffset ? e.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0
}
var l = o.parent()[0],
s = o[0],
a = !1;
c()
}
return {
restrict: "E",
link: n
}
}
angular.module("warren.common.directives.curtain", []).directive("wrnCurtain", e), e.$inject = ["$window", "$timeout"]
}();
! function() {
"use strict";
function t(t) {
function n(n, r, e, u) {
function i(n) {
return n && (n = t.utc(n).format("DDMMYYYY")), n
}
function c(n) {
return n = (n || "").replace(/[\/|_]/g, ""), !n || n.length < 8 ? null : t.utc(n, "DDMMYYYY").toISOString()
}
u.$formatters.unshift(i), u.$parsers.push(c)
}
return {
restrict: "A",
require: "ngModel",
link: n
}
}
angular.module("warren.common.directives.date", []).directive("wrnDate", t), t.$inject = ["moment"]
}();
! function() {
"use strict";
function e() {
function e(e, n, r) {
var t = n.html();
if ("undefined" != typeof r.wrnEscapeTrim) {
for (var i = t.search(/\S/) - 1, c = new RegExp("\\s{" + i + "}"), a = t.split("\n"), s = 0; s < a.length; s++) a[s] = a[s].replace(c, "");
t = a.join("\n").trim()
}
n.text(t)
}
return {
restrict: "A",
link: e
}
}
angular.module("warren.common.directives.escape", []).directive("wrnEscape", e), e.$inject = []
}();
! function() {
"use strict";
function n(n, r) {
function e(r, e, c) {
var t = function() {};
if (!warren.utils.isMobile()) {
r.wrnFocusThen && (t = r.wrnFocusThen);
r.wrnFocusAfter;
n(function() {
e[0].focus(), t()
}, r.wrnFocusAfter)
}
}
return {
restrict: "A",
link: e,
scope: {
wrnFocusAfter: "=",
wrnFocusThen: "&"
}
}
}
n.$inject = ["$timeout", "$parse"], angular.module("warren.common.directives.focusafter", []).directive("wrnFocusAfter", n)
}();
! function() {
"use strict";
function n(n, e) {
function i(e, i, t) {
var c = function() {};
if (!warren.utils.isMobile()) {
e.wrnFocusThen && (c = e.wrnFocusThen);
var o = e.wrnFocusIf;
"undefined" == typeof o ? (i[0].focus(), c()) : e.$watch("wrnFocusIf", function(e) {
var t = window,
o = document,
u = o.documentElement,
r = o.getElementsByTagName("body")[0],
s = t.innerWidth || u.clientWidth || r.clientWidth;
s < 560 || angular.isDefined(e) && e && n(function() {
i[0].focus(), c()
})
}, !0)
}
}
return {
restrict: "A",
link: i,
scope: {
wrnFocusIf: "=",
wrnFocusThen: "&"
}
}
}
angular.module("warren.common.directives.focusif", []).directive("wrnFocusIf", n), n.$inject = ["$timeout", "$parse"]
}();
! function() {
"use strict";
function n() {
function n(n, e, t, i) {
function c() {
n.$watch(t.ngModel, r)
}
function o() {}
function r(n) {}
n.$on("$destroy", o), c(), n.select = function(e) {
n.ngModel = e, n.fnChange && n.fnChange({
value: e
})
}
}
return {
restrict: "E",
link: n,
templateUrl: "app/common/directives/wrn_inputrisk.template.html",
scope: {
ngModel: "=",
fnChange: "&"
}
}
}
angular.module("warren.common.directives.inputrisk", []).directive("wrnInputRisk", n), n.$inject = []
}();
! function() {
"use strict";
function e(e) {
function n(e, n, r, u) {
var c = null,
l = i;
"valid" !== r.wrnJumpWith && (c = parseInt(r.wrnJumpWith), l = t), n.bind("keyup", function(e) {
var t = e.which;
if (!(t <= 46 || t >= 112 && t <= 185) && l(u, c))
for (var i = n[0], r = document.querySelectorAll("input, button, select, textarea"), o = 0; o < r.length - 1; o++)
if (r[o] === i) {
r[o + 1].focus();
break
}
})
}
function t(e, n) {
return e.$viewValue && e.$viewValue.length === n
}
function i(e, n) {
return e.$viewValue && e.$valid
}
return {
restrict: "A",
require: "ngModel",
link: n
}
}
angular.module("warren.common.directives.jumpwith", []).directive("wrnJumpWith", e), e.$inject = ["$window"]
}();
! function() {
"use strict";
function e(e) {
function t(t, n, r) {
function i() {
s = a(), s && (c = l(s), e.addEventListener("resize", u), t.$on("$destroy", o), u())
}
function o() {
e.removeEventListener("resize", u)
}
function a() {
for (var e = n.parent()[0], t = 100, r = 0; r < t;) {
var i = warren.utils.getElementHeight(e);
if (i && i > 0) break;
if (e = e.parentElement, !e) break;
r++
}
return r === t && console.error("leaving due to max iterations"), e
}
function l(e) {
for (var t = e.children, n = 0, r = 0; r < t.length; r++) {
var i = t[r],
o = warren.utils.getElementOuterHeight(i);
o && 0 !== o || !i.children || (o = l(i)), n += o || 0
}
return n
}
function u() {
if (s) {
var e = warren.utils.getElementHeight(s);
c = l(s), e > c ? (n[0].style.position = "absolute", n[0].style.bottom = "0") : n[0].style.position = "relative"
}
}
var s = null,
c = 0;
i()
}
return {
restrict: "A",
link: t
}
}
angular.module("warren.common.directives.keepbottom", []).directive("wrnKeepBottom", e), e.$inject = ["$window"]
}();
! function() {
"use strict";
function e(e) {
function t(t, n, c) {
var r = c.src,
i = n.text(),
d = e.document.createElement("script");
d.type = "text/javascript", "undefined" != typeof r ? (d.src = r, d.onload = function() {
var t = e.document.createElement("script");
t.type = "text/javascript", t.text = i, e.document.head.appendChild(t)
}) : d.text = i, e.document.head.appendChild(d), n.remove()
}
return {
restrict: "E",
link: t,
scope: !1
}
}
angular.module("warren.common.directives.script", []).directive("wrnScript", e), e.$inject = ["$window"]
}();
! function() {
"use strict";
function e(e, r) {
function t(t, n, s) {
var i = t.wrnShowAfter,
o = t.wrnShowAfterClass || "ng-hide",
a = !!t.wrnShowAfterForce,
w = !!t.wrnShowAfterDisabled;
a && (n[0].style.opacity = "", "none" === n[0].style.display && (n[0].style.display = "block"), n[0].style.visibility = ""), w || (n.addClass(o), e(function() {
r.removeClass(n, o, {
tempClasses: o + "-animate"
})
}, i))
}
return {
restrict: "A",
link: t,
scope: {
wrnShowAfter: "=",
wrnShowAfterClass: "@",
wrnShowAfterForce: "=",
wrnShowAfterDisabled: "="
}
}
}
angular.module("warren.common.directives.showafter", []).directive("wrnShowAfter", e), e.$inject = ["$timeout", "$animate"]
}();
! function() {
"use strict";
function o(o) {
function r(r, n, t) {
var l = t.wrnSmoothScroll,
i = t.wrnSmoothScrollEase,
c = t.wrnSmoothScrollTime,
e = t.wrnSmoothScrollDelta || 0,
s = o.to;
/^\d+$/.test(l) && (l = parseInt(l), s = o.toPosition), i = i && warren.utils.easing[i] ? warren.utils.easing[i] : null, n.bind("click", function() {
s(l, i, c, e)
})
}
return {
restrict: "A",
link: r,
scope: {}
}
}
angular.module("warren.common.directives.smoothscroll", []).directive("wrnSmoothScroll", o), o.$inject = ["wrnSmoothScroll"]
}();
! function() {
"use strict";
function n(n, e, t, i) {
function r(r, s, l) {
function o() {
n.addEventListener("scroll", a), s.addClass("sticky"), s.addClass("ng-hide");
var e = l.wrnSticky;
"" === e ? (c = 0, s.removeClass("ng-hide"), f = !0) : warren.utils.isNumber(e) ? c = parseInt(e) : (d = e, c = null), t(function() {
a()
}, 100)
}
function u() {
n.removeEventListener("scroll", a)
}
function a() {
if (d) {
var n = e[0].getElementById(d);
c = n ? warren.utils.getGlobalOffset(n).top : null
}
var r = warren.utils.getDocumentTop();
c && (r >= c ? f || (f = !0, t(function() {
i.removeClass(s, "ng-hide")
}, 0)) : f && (f = !1, t(function() {
i.addClass(s, "ng-hide")
}, 0)))
}
var c = null,
d = null,
f = !1;
r.$on("$destroy", u), o()
}
return {
restrict: "A",
link: r
}
}
angular.module("warren.common.directives.sticky", []).directive("wrnSticky", n), n.$inject = ["$window", "$document", "$timeout", "$animate"]
}();
! function() {
"use strict";
function t(t, n) {
function i(n, i, e) {
function r() {
n.finished ? (i.html(warren.utils.notTypewriter(f)), n.callbackFn && n.callbackFn()) : x = t(function() {
a(i, k, 0, f)
}, p)
}
function a(i, e, r, c) {
var o = v;
if (e <= c.length) {
var u = c.substring(e - 1, e);
if ("^" === u) {
var h = e;
e++, u = c.substring(e - 1, e);
for (var g = ""; u && !isNaN(u);) g += u, e++, u = c.substring(e - 1, e);
var m = "";
return " " === u && (m = " "), c = c.replace("^" + g + m, ""), o = parseInt(g), e = h, void(x = t(function() {
a(i, e, r, c)
}, o))
}
if ("<" !== u) return n.beforeCharFn && n.beforeCharFn(), i.html(c.substring(0, e) + w), n.afterCharFn && n.afterCharFn(), e++, void(x = t(function() {
a(i, e, r, c)
}, o));
for (var k = "<"; u && ">" !== u;) k += c.substring(0, e), e++, u = c.substring(e - 1, e);
i.html(c.substring(0, e) + w), e++, x = t(function() {
a(i, e, r, c)
}, o)
} else e--, b && r < b.length - 1 ? x = t(function() {
var t = b[r];
t = t.replace(/\^\d+\s?/g, ""), l(i, e, r, t)
}, p) : (C(), x && t.cancel(x), n.callbackFn && n.callbackFn(), d && s(i, e, f))
}
function s(t, n) {
var i = t.text().substring(0, t.text().length - 1);
F ? m ? (g = "-webkit-animation:blink-it steps(1) " + m + " infinite;-moz-animation:blink-it steps(1) " + m + " infinite -ms-animation:blink-it steps(1) " + m + " infinite;-o-animation:blink-it steps(1) " + m + " infinite; animation:blink-it steps(1) " + m + " infinite;", t.html(i.substring(0, n) + '<span class="blink" style="' + g + '">' + w + "</span>")) : t.html(i.substring(0, n) + '<span class="blink">' + w + "</span>") : t.html(i.substring(0, n))
}
function l(n, i, e, r) {
return i > 0 ? (r = r.slice(0, -1), n.html(r + w), i--, void(x = t(function() {
l(n, i, e, r)
}, y))) : (e++, r = u(b[e]), x = t(function() {
a(n, 0, e, r)
}, v), void 0)
}
function c(t) {
return "string" == typeof t ? "s" === t.charAt(t.length - 1) ? 1e3 * parseInt(t.substring(0, t.length - 1), 10) : +t : 200
}
function o(t) {
return "string" == typeof t && ("s" === t.charAt(t.length - 1) ? t : parseInt(t.substring(0, t.length - 1), 10) / 1e3)
}
function u(t) {
return t.replace(/<a /g, '<a target="_blank" ')
}
var f, b, h, g, p = c(e.initialDelay),
m = o(e.blinkDelay),
k = e.startAt || 0,
v = e.typeDelay || 50,
y = e.eraseDelay || v / 2,
d = "true" === e.showCursor,
F = "true" === e.blinkCursor,
w = d && (e.cursor || "|") || "",
x = null;
n.$on("$destroy", function() {
x && t.cancel(x)
});
var C = n.$watch("start", function(t) {
!h && t && (h = !h, r())
});
n.$watch("text", function(i) {
n.text = i, n.text && (n.text instanceof Array ? (b = n.text, f = u(b[0])) : f = u(n.text)), ("undefined" == typeof n.start || n.start) && (h && t.cancel(x), i && r())
})
}
return {
restrict: "A",
link: i,
scope: {
callbackFn: "&",
beforeCharFn: "&",
afterCharFn: "&",
start: "=",
text: "=",
finished: "="
}
}
}
angular.module("warren.common.directives.typewrite", []).directive("wrnTypewrite", t), t.$inject = ["$timeout", "$parse"]
}();
! function() {
"use strict";
function n() {
function n(n, e, r) {
var c = function() {},
l = e[0];
e.bind("scroll", function() {
l.scrollTop + l.offsetHeight >= l.scrollHeight && n.wrnWhenScrolled && (c = n.wrnWhenScrolled)()
})
}
return {
restrict: "A",
link: n,
scope: {
wrnWhenScrolled: "&"
}
}
}
angular.module("warren.common.directives.whenscrolled", []).directive("wrnWhenScrolled", n)
}();
! function() {
"use strict";
function n(n) {
function r() {
return n.getLink.apply(void 0, arguments)
}
return r
}
angular.module("warren.common.filters._link", []).filter("_l", n).filter("_link", n), n.$inject = ["wrnResources"]
}();
! function() {
"use strict";
function n(n) {
function t() {
return n.getQuantityString.apply(void 0, arguments)
}
return t
}
angular.module("warren.common.filters._qs", []).filter("_qs", n), n.$inject = ["wrnResources"]
}();
! function() {
"use strict";
function n(n) {
function r() {
return n.getString.apply(void 0, arguments)
}
return r
}
angular.module("warren.common.filters._s", []).filter("_s", n).filter("_string", n), n.$inject = ["wrnResources"]
}();
! function() {
"use strict";
function r(r) {
function n(n) {
return r.getStringArray(n)
}
return n
}
angular.module("warren.common.filters._sa", []).filter("_sa", r), r.$inject = ["wrnResources"]
}();
! function() {
"use strict";
function e(e) {
function n() {
return e.getValue.apply(void 0, arguments)
}
return n
}
angular.module("warren.common.filters._value", []).filter("_v", e).filter("_value", e), e.$inject = ["wrnResources"]
}();
! function() {
"use strict";
function n(n) {
return function(t) {
return void 0 === typeof t || null === t ? t : n.environment.assets + ("" + t)
}
}
angular.module("warren.common.filters.asset", []).filter("asset", n), n.$inject = ["config"]
}();
! function() {
"use strict";
function n(n, t) {
function r(n) {
return n && n.length && 11 == n.length ? n.substring(0, 3) + "." + n.substring(3, 6) + "." + n.substring(6, 9) + "-" + n.substring(9, 11) : ""
}
return r
}
angular.module("warren.common.filters.cpf", []).filter("cpf", n), n.$inject = ["$locale", "$filter"]
}();
! function() {
"use strict";
function t(t, e) {
function n(t, e) {
return moment.locale("pt-br"), moment(t).format(e || "DD/MM/YYYY")
}
return n
}
angular.module("warren.common.filters.datetime", []).filter("datetime", t), t.$inject = ["$locale", "$filter"]
}();
! function() {
"use strict";
function e(e, r) {
function n(e, n, c, l) {
var t = null === c;
t && (c = 100);
var a = r("currency")(e, n, c);
return a ? (t && (a = a.replace(/\.?0*$/g, "")), a = a.replace(/\./, "!!!"), a = a.replace(/,/g, "."), a = a.replace(/!!!/, ","), l && e >= 0 && (a = "+" + a), a) : "0,00"
}
return n
}
angular.module("warren.common.filters.money", []).filter("money", e), e.$inject = ["$locale", "$filter"]
}();
! function() {
"use strict";
function r(r, t) {
function e(t) {
return t = warren.utils.notTypewriter(t), r.trustAs("html", t)
}
return e
}
angular.module("warren.common.filters.notypewriter", []).filter("notypewriter", r), r.$inject = ["$sce", "wrnResources"]
}();
! function() {
"use strict";
function e(e, t) {
function n(e, t, n, r) {
e = e || 0, "undefined" == typeof t && (t = "%"), e = (100 * e).toFixed(n || 0), 0 == e && (e = Math.abs(e).toFixed(n));
var i = e.replace(/\./, ",") + t;
return r && (t = e >= 0 ? "+" : "", i = t + i), i
}
return n
}
angular.module("warren.common.filters.percentage", []).filter("percentage", e), e.$inject = ["$locale", "$filter"]
}();
! function() {
"use strict";
function e(e, r) {
function n(e) {
return (e || []).slice().reverse()
}
return n
}
angular.module("warren.common.filters.reverse", []).filter("reverse", e), e.$inject = ["$locale", "$filter"]
}();
! function() {
"use strict";
angular.module("warren.common.filters.safehtml", []).filter("safeHtml", ["$sce", function(t) {
return function(n) {
return t.trustAsHtml(n)
}
}])
}();
! function() {
"use strict";
function t(t) {
function r(r, n) {
return t.trustAs(n || "html", r)
}
return r
}
angular.module("warren.common.filters.trust", []).filter("trust", t), t.$inject = ["$sce"]
}();
! function() {
"use strict";
function n(n, t) {
function r(r, e, a, i) {
function l(t) {
t = (t || 0).toString(), t = t.replace(/[^0-9]/g, ""), t = parseInt(t, 10).toString();
var r = "000";
t = r.substring(0, r.length - t.length) + t;
var a = t.substring(0, t.length - 2),
i = t.substring(t.length - 2);
a = n("number")(a).replace(/,/g, "."), i = "," + i, e.val(b + a + i)
}
function s(n) {
return n ? (n = n.toString().replace(/[^0-9]/g, ""), n = parseFloat(n) / 100, n || 0) : 0
}
function c() {
for (var n = e[0].selectionStart, t = e[0].selectionEnd, r = e.val().substring(0, n), a = 0, i = 0; i < n && !(i > r.length); i++) /[^0-9]/.test(r[i]) && a++;
return {
rawStart: n,
rawEnd: t,
start: n - a,
end: t - a
}
}
function u(n) {
for (var t = e.val(), r = n.start, a = n.end, i = 0; i < r && !(i > t.length); i++) /[^0-9]/g.test(t[i]) && (r++, a++);
"," === t[i] && (r++, a++), e[0].selectionStart = r, e[0].selectionEnd = r
}
function o(n) {
var t = n.rawStart,
r = p,
a = r[t],
i = r[t + 1],
l = (r[t - 1], e.val());
"." === a ? e.val(l.slice(0, t) + l.slice(t + 1)) : 0 === t && "," === i && e.val(l.slice(t + 1))
}
function v(n) {
var t = n.rawStart,
r = p,
a = r[t],
i = (r[0], r[t + 1], r[t - 1]);
e.val();
1 === t && "0" === i && "," === a && (n.start = 0, n.end = 0)
}
function g(n) {
var t = e.val();
"," === t && (n.start = 2, n.end = 2)
}
function f(n) {
h = n && n.keyCode, h && 9 <= h && h <= 40 || t.defer(d)
}
function d(n) {
var t = c();
if (46 === h && o(t), 8 === h && v(t), 188 === h && g(t), 110 === h) {
g(t);
var r = e.val();
"." === r.slice(-1) && (r = r.slice(0, -1) + ","), l(r)
} else {
var r = s(e.val());
l(e.val())
}
u(t), p = e.val()
}
var b = a.wrnMaskPrefix || "",
h = null,
p = e.val();
i.$parsers.unshift(s), i.$render = function() {
var n = i.$modelValue.toString().split("."),
t = n[0],
r = n[1] ? n[1].substring(0, 2) : "00",
e = "00";
return r += e.substring(0, e.length - r.length), l(t + r)
}, e.bind("change", d), e.bind("paste cut", f), e.bind("keydown", f), e.bind("keyup", f)
}
return {
priority: 100,
restrict: "A",
require: "ngModel",
link: r
}
}
angular.module("warren.common.masks.bankcurrency", []).directive("wrnMaskBankCurrency", n), n.$inject = ["$filter", "$browser"]
}();
! function() {
"use strict";
function r(r, e) {
function n(n, t, a, l) {
function i(e) {
if (0 === e && (e = "0"), e = (e || "").toString().replace(k, "").replace(/,/, ".").replace(/,/g, ""), "" === e) return void t.val("");
var n = e.split(".")[0] || "",
a = e.split(".")[1];
n = r("number")(n).replace(/,/g, "."), a && (a = a.substring(0, 2)), g && (n = g + n), "string" == typeof a ? t.val(n + "," + a) : t.val(n)
}
function c(r) {
if (r) return r = (r || "").toString().replace(k, "").replace(/,/, ".").replace(/,/g, ""), r = parseFloat(r), r || 0 === r ? r : null
}
function s() {
for (var r = t[0].selectionStart, e = t[0].selectionEnd, n = t.val().substring(0, r), a = 0, l = 0; l < r && !(l > n.length); l++) /[^0-9]/.test(n[l]) && a++;
return {
rawStart: r,
rawEnd: e,
start: r - a,
end: e - a
}
}
function o(r) {
for (var e = t.val(), n = r.start, a = r.end, l = 0; l < n && !(l > e.length); l++) /[^0-9]/g.test(e[l]) && (n++, a++);
"," === e[l] && (n++, a++), t[0].selectionStart = n, t[0].selectionEnd = n
}
function u(r) {
var e = r.rawStart,
n = y,
a = n[e],
l = n[e + 1],
i = (n[e - 1], t.val());
"." === a ? t.val(i.slice(0, e) + i.slice(e + 1)) : 0 === e && "," === l && t.val(i.slice(e + 1))
}
function v(r) {
var e = r.rawStart,
n = y,
a = n[e],
l = (n[0], n[e + 1], n[e - 1]);
t.val();
1 === e && "0" === l && "," === a && (r.start = 0, r.end = 0)
}
function f(r) {
var e = t.val();
"," === e && (r.start = 2, r.end = 2)
}
function d(r) {
b = r && r.keyCode, b && 9 <= b && b <= 40 || e.defer(p)
}
function p(r) {
var e = s();
if (46 === b && u(e), 8 === b && v(e), 188 === b && f(e), 110 === b) {
f(e);
var n = t.val();
"." === n.slice(-1) && (n = n.slice(0, -1) + ","), i(n)
} else {
var n = c(t.val());
i(t.val())
}
o(e), y = t.val()
}
var g = a.wrnMaskPrefix || "",
w = ("false" !== a.wrnMaskAllowZero, a.wrnMaskType || "int"),
k = "int" === w ? /[^0-9]/g : /[^0-9,]/g,
b = null,
y = t.val();
l.$parsers.push(c), l.$render = function() {
return i(l.$modelValue)
}, t.bind("change", p), t.bind("paste cut", d), t.bind("keydown", d), t.bind("keyup", d)
}
return {
priority: 100,
restrict: "A",
require: "ngModel",
link: n
}
}
angular.module("warren.common.masks.currency", []).directive("wrnMaskCurrency", r), r.$inject = ["$filter", "$browser"]
}();
! function() {
"use strict";
function n(n, c) {
function t(t) {
return n(function(n, r) {
c.put("/api/v2/account/crm-unsubscribe-commit/" + t).then(function(c) {
n(c.data)
}, function(n) {
r(n.data)
})
})
}
var r = {
unsubscribe: t
};
return r
}
n.$inject = ["$q", "wrnBackend"], angular.module("warren.common.models.crm", []).factory("wrnCrm", n)
}();
! function() {
"use strict";
function n(n, t, i) {
function e() {
return n(function(n, t) {
i.get("/api/v2/account/invites/mine").then(function(t) {
n(t.data)
}, function(n) {
t(n.data)
})
})
}
function a(t) {
return n(function(n, e) {
i.put("/api/v2/account/invites/add", {
email: t
}).then(function(t) {
n(t.data)
}, function(n) {
e(n.data)
})
})
}
function c(t) {
return n(function(n, e) {
i.post("/api/v2/account/invites/resend", {
email: t
}).then(function(t) {
n(t.data)
}, function(n) {
e(n.data)
})
})
}
var u = {
mine: e,
invite: a,
resend: c
};
return u
}
angular.module("warren.common.models.invites", []).factory("wrnInvites", n), n.$inject = ["$q", "wrnSession", "wrnBackend"]
}();
! function() {
"use strict";
function n(n, t, i) {
function o() {
return n(function(n, t) {
n(s)
})
}
function a() {
return n(function(n, t) {
i.get("/api/v2/logs/count").then(function(t) {
d = t.data.unreadLogsCount, n(t.data)
}, function(n) {
t(n.data)
})
})
}
function u() {
return s
}
function e() {
for (var t = [], o = 0; o < s.length && !s[o].isRead; o++) s[o].isRead = !0, t.push(s[o]._id);
return n(t.length ? function(n, o) {
i.put("/api/v2/logs/read", {
ids: t
}).then(function(t) {
d = 0, n(t.data)
}, function(n) {
o(n.data)
})
} : function(n, t) {
n()
})
}
function r() {
for (var n = 0, t = 0; t < s.length && !s[t].isRead; t++) n += 1;
return n || d
}
function c() {
return n(function(n, t) {
i.get("/api/v2/logs/mine").then(function(t) {
s = t.data.logs, n({
notifications: s,
hasNewNotification: f()
})
}, function(n) {
t(n.data)
})
})
}
function f() {
var n = s[0];
return !(!n || n.isRead)
}
var s = [],
d = 0,
l = {
syncGetAll: u,
getAll: o,
getUnreadCount: a,
sync: c,
markAsRead: e,
unreadAmount: r
};
return l
}
angular.module("warren.common.models.notifications", []).factory("wrnNotifications", n), n.$inject = ["$q", "wrnSession", "wrnBackend"]
}();
! function() {
"use strict";
function t(t, n) {
function o(o) {
return t(function(t, i) {
n.post("/api/v2/portfolios/builder/message", o).then(function(n) {
t(n.data)
}, function(t) {
i(t.data)
})
})
}
function i(o) {
return t(function(t, i) {
n.post("/api/v2/portfolios/create", o).then(function(n) {
t(n.data)
}, function(t) {
i(t.data)
})
})
}
function a() {
return t(function(t, o) {
n.get("/api/v2/portfolios/mine").then(function(n) {
t(n.data)
}, function(t) {
o(t.data)
})
})
}
function u(o) {
return t(function(t, i) {
n.get("/api/v2/portfolios/single/" + o).then(function(n) {
t(n.data.portfolio)
}, function(t) {
i(t.data)
})
})
}
function e(o) {
return t(function(t, i) {
n.get("/api/v2/portfolios/single/" + o + "/performance").then(function(n) {
t(n.data)
}, function(t) {
i(t.data)
})
})
}
function c(o) {
return t(function(t, i) {
n.post("/api/v2/portfolios/chart", o).then(function(n) {
t(n.data)
}, function(t) {
i(t.data)
})
})
}
function f(o, i) {
return t(function(t, a) {
n.put("/api/v2/portfolios/single/" + o, i).then(function(n) {
t(n.data)
}, function(t) {
a(t.data)
})
})
}
function r(o) {
return t(function(t, i) {
n.delete_("/api/v2/portfolios/single/" + o).then(function(n) {
t(n.data)
}, function(t) {
i(t.data)
})
})
}
function p() {
return t(function(t, o) {
n.get("api/v2/portfolios/funds").then(function(n) {
t(g(n.data))
}, function(t) {
o(t.data)
})
})
}
function d(o) {
return t(function(t, i) {
n.get("api/v2/portfolios/fund/" + o).then(function(n) {
t(g(n.data))
}, function(t) {
i(t.data)
})
})
}
function s() {
return t(function(t, o) {
n.get("api/v2/portfolios/suggestions").then(function(n) {
t(g(n.data))
}, function(t) {
o(t.data)
})
})
}
function l(o) {
return t(function(t, i) {
n.put("/api/v2/portfolios/single/" + o + "/visit").then(function(n) {
t(g(n.data))
}, function(t) {
i(t.data)
})
})
}
function g(t) {
for (var n = 0; n < t.length; n++) {
for (var o = t[n], i = {}, a = 0; a < o.allocations.length; a++) {
var u = o.allocations[a];
i[u.type] || (i[u.type] = {}), i[u.type][u.subtype] || (i[u.type][u.subtype] = []), i[u.type][u.subtype].push(u)
}
o.infos = i
}
return t
}
function h(o) {
return t(function(t, i) {
n.post("/api/v2/portfolios/group/create", o).then(function(n) {
t(n.data)
}).catch(function(t) {
i(t.data)
})
})
}
function v(o, i) {
return t(function(t, a) {
n.put("/api/v2/portfolios/group/" + o + "/update", i).then(function(n) {
t(n.data)
}).catch(function(t) {
a(t.data)
})
})
}
function m(o) {
return t(function(t, i) {
n.post("/api/v2/portfolios/group/invite", o).then(function(n) {
t(n.data)
}).catch(function(t) {
i(t.data)
})
})
}
function y(o, i, a) {
return t(function(t, u) {
n.put("/api/v2/portfolios/group/" + o + "/member/" + i + "/remove", a).then(function(n) {
t(n.data)
}).catch(function(t) {
u(t.data)
})
})
}
function b(o, i) {
return t(function(t, a) {
n.post("/api/v2/portfolios/group/" + o + "/admin", i).then(function(n) {
t(n.data)
}).catch(function(t) {
a(t.data)
})
})
}
function I(o) {
return t(function(t, i) {
n.put("/api/v2/portfolios/group/invite/" + o + "/accept").then(function(n) {
t(n.data)
}).catch(function(t) {
i(t.data)
})
})
}
function B(o) {
return t(function(t, i) {
n.put("/api/v2/portfolios/group/invite/" + o + "/cancel").then(function(n) {
t(n.data)
}).catch(function(t) {
i(t.data)
})
})
}
function P() {
return t(function(t, o) {
n.get("/api/v2/portfolios/group/invites/mine").then(function(n) {
t(n.data)
}).catch(function(t) {
o(t.data)
})
})
}
function k(o, i) {
return t(function(t, a) {
n.post("/api/v2/portfolios/group/" + o + "/reminder", i).then(function(n) {
t(n.data)
}).catch(function(t) {
a(t.data)
})
})
}
function w(o, i, a) {
return t(function(t, u) {
n.post("/api/v2/portfolios/images/search", {
query: o,
page: i,
perPage: a
}).then(function(n) {
t(n.data)
}).catch(function(t) {
u(t.data)
})
})
}
function q(o, i) {
return t(function(t, a) {
n.put("/api/v2/portfolios/single/" + o + "/background", i).then(function(n) {
t(n.data)
}).catch(function(t) {
a(t.data)
})
})
}
var A = {
save: i,
getAll: a,
getById: u,
getPerformanceById: e,
getChart: c,
getFunds: p,
getFundById: d,
getSuggestions: s,
update: f,
remove: r,
visitPortfolio: l,
builder: o,
searchPhotos: w,
updateBackground: q,
share: h,
editGroup: v,
invite: m,
setAdmin: b,
acceptInvite: I,
cancelInvite: B,
removeMember: y,
reminderMember: k,
getInvites: P
};
return A
}
angular.module("warren.common.models.portfolio", []).factory("wrnPortfolio", t), t.$inject = ["$q", "wrnBackend"]
}();
! function() {
"use strict";
function n(n, t, o, i) {
function a(t) {
return n(function(n, i) {
var a = "/api/v2/notifications/posts";
t && (a += "/10/" + t), o.post(a).then(function(t) {
n(t.data)
}, function(n) {
i(n.data)
})
})
}
function c() {
return n(function(n, t) {
o.get("/api/v2/notifications/posts/mine").then(function(t) {
n(t.data)
}, function(n) {
t(n.data)
})
})
}
function u(t) {
return n(function(n, i) {
o.get("/api/v2/notifications/posts/single/" + t).then(function(t) {
n(t.data)
}, function(n) {
i(n.data)
})
})
}
function e(t) {
return n(function(n, i) {
o.put("/api/v2/notifications/posts/public-read/" + t).then(function(t) {
n(t.data)
}, function(n) {
i(n.data)
})
})
}
function r(t, i) {
return n(function(n, a) {
o.put("/api/v2/notifications/posts/track/" + t, i).then(function(t) {
n(t.data)
}, function(n) {
a(n.data)
})
})
}
function f(t) {
return n(function(n, o) {
i.post("https://www.googleapis.com/urlshortener/v1/url?key=AIzaSyB9O_xTdjl8brvydY-ocwQCZLb0CJU1M6k", {
longUrl: t
}).then(function(t) {
n(t.data)
}, function(n) {
o(n.data)
})
})
}
var s = {
getAll: a,
getMine: c,
getById: u,
track: r,
publicRead: e,
getShortenedURL: f
};
return s
}
angular.module("warren.common.models.post", []).factory("wrnPost", n), n.$inject = ["$q", "wrnSession", "wrnBackend", "$http"]
}();
! function() {
"use strict";
function n(n, t, i) {
function e(t) {
return n(function(n, e) {
i.post("/api/v2/invoices/create", t).then(function(t) {
n(t.data.invoice)
}, function(n) {
e(n.data)
})
})
}
function a(t) {
return n(function(n, e) {
i.post("/api/v2/transactions/message", t).then(function(t) {
n(t.data)
}, function(n) {
e(n.data)
})
})
}
function o(t) {
return n(function(n, e) {
i.post("/api/v2/deposits/create", t).then(function(t) {
n(t.data.deposit)
}, function(n) {
e(n.data)
})
})
}
function c(t) {
return n(function(n, e) {
i.post("/api/v2/withdraws/create", t).then(function(t) {
n(t.data.withdraw)
}, function(n) {
e(n.data)
})
})
}
function u() {
return n(function(n, t) {
i.get("/api/v2/finances/mine").then(function(t) {
n(t.data)
}, function(n) {
t(n.data)
})
})
}
function f(t) {
return n(function(n, e) {
i.get("/api/v2/finances/portfolio/" + t).then(function(t) {
n(t.data)
}, function(n) {
e(n.data)
})
})
}
function r(t) {
return n(function(n, e) {
i.get("/api/v2/invoices/single/" + t).then(function(t) {
n(t.data.invoice)
}, function(n) {
e(n.data)
})
})
}
function s(t) {
return n(function(n, e) {
i.get("/api/v2/deposits/single/" + t).then(function(t) {
n(t.data.deposit)
}, function(n) {
e(n.data)
})
})
}
function d(t) {
return n(function(n, e) {
i.get("/api/v2/withdraws/single/" + t).then(function(t) {
n(t.data.withdraw)
}, function(n) {
e(n.data)
})
})
}
function p(t) {
return n(function(n, e) {
i.post("/api/v2/invoices/single/" + t + "/send-email").then(function(t) {
n()
}, function(n) {
e(n.data)
})
})
}
function v(t) {
return n(function(n, e) {
i.post("/api/v2/deposits/single/" + t + "/send-email", {
resume: !0
}).then(function(t) {
n()
}, function(n) {
e(n.data)
})
})
}
function l(t) {
return n(function(n, e) {
i.put("/api/v2/deposits/single/" + t + "/cancel").then(function(t) {
n(t.data)
}, function(n) {
e(n.data)
})
})
}
function g(t) {
return n(function(n, e) {
i.put("/api/v2/invoices/single/" + t + "/cancel").then(function(t) {
n(t.data)
}, function(n) {
e(n.data)
})
})
}
function h(t) {
return n(function(n, e) {
i.put("/api/v2/withdraws/single/" + t + "/cancel").then(function(t) {
n(t.data)
}, function(n) {
e(n.data)
})
})
}
function m() {
return n(function(n, t) {
i.get("/api/v2/finances/investment-summary/").then(function(t) {
n(t.data)
}, function(n) {
t(n.data)
})
})
}
function w(t) {
return n(function(n, e) {
i.get("/api/v2/finances/positions/" + t).then(function(t) {
n(t.data)
}, function(n) {
e(n.data)
})
})
}
function y(t) {
return n(function(n, e) {
i.post("/api/v2/finances/fund-performance/", t).then(function(t) {
n(t.data)
}, function(n) {
e(n.data)
})
})
}
var I = {
message: a,
createInvoice: e,
createDeposit: o,
createWithdraw: c,
getInvoiceById: r,
getDepositById: s,
getWithdrawById: d,
sendInvoiceByEmail: p,
sendDepositByEmail: v,
getAll: u,
getAllByPortoflio: f,
cancelDeposit: l,
cancelInvoice: g,
cancelWithdraw: h,
getInvestmentSummary: m,
getPositions: w,
getFundPerformance: y
};
return I
}
n.$inject = ["$q", "wrnSession", "wrnBackend"], angular.module("warren.common.models.transaction", []).factory("wrnTransaction", n)
}();
! function() {
"use strict";
function n(n, t, a, c) {
function o(n) {
N = n, S = warren.utils.deepcopy(n), U = n.isBlack, c.setPerson(n._id, n.username)
}
function u() {
return _black
}
function e() {
return n(function(n, t) {
a.get("/api/v2/account/me").then(function(t) {
o(t.data.customer), n(N)
}).catch(function(n) {
t(n.data)
})
})
}
function u() {
return U
}
function i(t) {
return t ? N : n(function(n, t) {
N ? n(N) : e().then(function(t) {
n(t)
}, function(n) {
t(n)
})
})
}
function s(c, u) {
return n(function(n, e) {
a.post("/api/v2/account/login", {
email: c,
password: u
}).then(function(a) {
var c = a.data.accessToken;
t.set("accounts.accessToken", c), o(a.data.user), n(a.data.user)
}, function(n) {
e(n.data)
})
})
}
function r(c) {
return n(function(n, u) {
a.post("/api/v2/account/instant-login/commit", {
hash: c
}).then(function(a) {
var c = a.data.accessToken;
t.set("accounts.accessToken", c), o(a.data.user), n(a.data.user)
}, function(n) {
u(n.data)
})
})
}
function f(c) {
return n(function(n, u) {
a.post("/api/v2/account/instant-login/accept", {
hash: c
}).then(function(a) {
var c = a.data.accessToken;
t.set("accounts.accessToken", c), o(a.data.user), n(a.data.user)
}, function(n) {
u(n.data)
})
})
}
function d(c) {
return n(function(n, u) {
a.post("/api/v2/account/facebook", {
facebook: c
}).then(function(a) {
var c = a.data.accessToken;
t.set("accounts.accessToken", c), o(a.data.user), n(a.data.user)
}, function(n) {
u(n.data)
})
})
}
function p(n, a) {
return t.set("accounts.accessToken", n), o(a), a
}
function h() {
return n(function(n, t) {
a.post("/api/v2/account/logout").then(function(t) {
n()
}, function(n) {
t(n.data)
})
})
}
function v(t) {
return n(function(n, c) {
a.post("/api/v2/account/reset-password/request", {
email: t
}).then(function(t) {
n()
}, function(n) {
c(n.data)
})
})
}
function l(t) {
return n(function(n, c) {
a.post("/api/v2/account/reset-password/check", {
hash: t
}).then(function(t) {
n()
}, function(n) {
c(n.data)
})
})
}
function k(c, u) {
return n(function(n, e) {
a.post("/api/v2/account/reset-password/commit", {
hash: c,
password: u
}).then(function(a) {
if (a.data.accessToken) {
var c = a.data.accessToken;
t.set("accounts.accessToken", c), o(a.data.user)
}
n()
}, function(n) {
e(n.data)
})
})
}
function m(t) {
return n(function(n, c) {
a.post("/api/v2/account/setup/check", {
hash: t
}).then(function(t) {
n(t.data)
}, function(n) {
c(n.data)
})
})
}
function g(c, u) {
return n(function(n, e) {
a.post("/api/v2/account/setup/commit", {
hash: c,
password: u
}).then(function(a) {
var c = a.data.accessToken;
t.set("accounts.accessToken", c), o(a.data.user), n()
}, function(n) {
e(n.data)
})
})
}
function w(c) {
return n(function(n, u) {
a.post("/api/v2/account/verify-email/commit", {
hash: c
}).then(function(a) {
if (a.data.accessToken) {
var c = a.data.accessToken;
t.set("accounts.accessToken", c), o(a.data.user)
}
n(a.data.user)
}, function(n) {
u(n.data)
})
})
}
function T(t) {
return n(function(n, c) {
a.post("/api/v2/account/setup/request", {
email: t
}).then(function(t) {
n(t.data)
}, function(n) {
c(n.data)
})
})
}
function b(t, c, o, u) {
var e = "/api/v2/account/upload";
return o && (e += "/" + o), n(function(n, o) {
a.upload(e, c, {
type: t
}).then(function(t) {
n(t.data.path)
}, function(n) {
o(n.data)
}, u)
})
}
function y(c, u) {
return n(function(n, e) {
a.post("/api/v2/account/signup", {
email: c,
password: u
}).then(function(a) {
var c = a.data.accessToken;
t.set("accounts.accessToken", c), o(a.data.user), n(a.data.user)
}, function(n) {
e(n.data)
})
})
}
function A(n) {}
function C() {}
function B(t, c) {
var u = warren.utils.deepdiff(S, t),
e = {
user: u
};
return c && (e.password = c), n(function(n, t) {
return Object.keys(u).length ? void a.put("/api/v3/account/update", e).then(function(t) {
o(t.data), n(t.data)
}).catch(function(n) {
t(n.data)
}) : void n(N)
})
}
function P(t) {
var c = warren.utils.deepdiff(S, t);
return n(function(n, t) {
return Object.keys(c).length ? void a.put("/api/v2/account/update", c).then(function(t) {
o(t.data), n(t.data)
}).catch(function(n) {
t(n.data)
}) : void n(N)
})
}
function _() {
return n(function(n, t) {
a.post("/api/v2/bank-accounts/create").then(function(t) {
n(t.data)
}).catch(function(n) {
t(n.data)
})
})
}
function E(t) {
return n(function(n, c) {
a.delete_("/api/v2/bank-accounts/single/" + t).then(function(t) {
n(t.data)
}).catch(function(n) {
c(n.data)
})
})
}
function L(t) {
return n(function(n, c) {
a.get("/api/v2/bank-accounts/mine").then(function(a) {
for (var o = 0; o < a.data.bankAccounts.length; o++) a.data.bankAccounts[o]._id === t && n(a.data.bankAccounts[o]);
c()
}).catch(function(n) {
c(n.data)
})
})
}
function j(t, c) {
var o = {
currentPassword: t,
newPassword: c
};
return n(function(n, t) {
a.put("/api/v2/account/password", o).then(function(t) {
n(t.data)
}).catch(function(n) {
t(n.data)
})
})
}
function q(t, c) {
var o = {
currentPassword: t,
newEmail: c
};
return n(function(n, t) {
a.post("/api/v2/account/change-email", o).then(function(t) {
n(t.data)
}).catch(function(n) {
t(n.data)
})
})
}
function I(t) {
return n(function(n, c) {
a.put("/api/v2/account/configurations/update", t).then(function(t) {
n(t.data)
}).catch(function(n) {
c(n.data)
})
})
}
function O(t) {
return n(function(n, c) {
a.post("/api/v2/account/terms/mine", {
names: t
}).then(function(t) {
n(t.data)
}).catch(function(n) {
c(n.data)
})
})
}
function $(t) {
return n(function(n, c) {
a.put("/api/v2/account/terms/accept", {
name: t
}).then(function(t) {
n(t.data)
}).catch(function(n) {
c(n.data)
})
})
}
function x() {
return n(function(n, t) {
a.delete_("/api/v2/account/delete").then(function(t) {
n(t.data)
}).catch(function(n) {
t(n.data)
})
})
}
var N = null,
S = null,
U = null,
V = {
become: e,
getCurrent: i,
isBlack: u,
login: s,
instantLogin: r,
instantLoginIntranet: f,
facebookLogin: d,
logout: h,
reset: v,
resetCheck: l,
resetConfirm: k,
setupCheck: m,
setupConfirm: g,
verifyEmail: w,
resendVerifyEmail: T,
addBankAccount: _,
removeBankAccount: E,
getBankAccount: L,
updatePassword: j,
updateEmail: q,
signup: y,
getById: A,
getAll: C,
update: B,
upload: b,
externalLogin: p,
updateConfigs: I,
getTerms: O,
acceptTerm: $,
deleteAccount: x,
updateNotificationsConfig: P
};
return V
}
n.$inject = ["$q", "wrnSession", "wrnBackend", "wrnCrash"], angular.module("warren.common.models.user", []).factory("wrnUser", n)
}();
! function() {
"use strict";
function c(c) {
return c.c3
}
angular.module("warren.common.services.c3", []).factory("c3", c), c.$inject = ["$window"]
}();
! function() {
"use strict";
function t(t) {
return t.Chartist
}
angular.module("warren.common.services.chartist", []).factory("chartist", t), t.$inject = ["$window"]
}();
! function() {
"use strict";
function n(n) {
return n.Moip || {}
}
angular.module("warren.common.services.moip", []).factory("wrnMoip", n), n.$inject = ["$window"]
}();
! function() {
"use strict";
function n(n) {
return n.moment.locale("pt-br"), n.moment
}
angular.module("warren.common.services.moment", []).factory("moment", n), n.$inject = ["$window"]
}();
! function() {
"use strict";
function n(n) {
function r(r, o) {
return n(function(n, t) {
r.then(n, function(r) {
n(o)
})
})
}
var o = {
optional: r
};
return o
}
angular.module("warren.common.services.promise", []).factory("promise", n).factory("pr", n), n.$inject = ["$q"]
}();
! function() {
"use strict";
function i(i, e, n, t, r) {
function a(i, e) {
i && (d.name = i), e && (d.email = e)
}
function o(i) {
d.affiliate = i
}
function l() {
return !!d && !!d.affiliate
}
function s() {
return !!m
}
function u(n, t) {
return i(function(i, r) {
var o = !!e.Waitlisted;
if (!o) return void r("Waitlisted blocked by client or not loaded");
if (a(n, t), !d.email) return void r("Ops... Precisamos do seu e-mail.");
var l = new Waitlisted.Api({
domain: "oiwarren.app.waitlisted.co"
});
l.reserve({
email: d.email,
name: d.name,
refcode: d.affiliate
}).then(function(e) {
m = e, i(e)
}, function(i) {
r(i.errors && i.errors.email ? 404 : "Ops... Tivemos um problema.")
})
})
}
function f(n, t) {
return i(function(i, r) {
var o = !!e.Waitlisted;
if (!o) return void r("Waitlisted blocked by client or not loaded");
if (a(n, t), !d.email) return void r("Ops... Precisamos do seu e-mail.");
var l = new Waitlisted.Api({
domain: "oiwarren.app.waitlisted.co"
});
l.position(d.email).then(function(e) {
m = e, i(e)
}, function(i) {
r("E-mail não cadastrado.")
})
})
}
function c() {
return m
}
var d = (!!e.Waitlisted, r.environment, {
name: null,
email: null,
affiliate: null
}),
m = null,
v = {
config: a,
referral: o,
affiliate: l,
reserve: u,
position: f,
reserved: s,
reservation: c
};
return v
}
angular.module("warren.common.services.waitlist", []).factory("waitlist", i), i.$inject = ["$q", "$window", "wrnFlash", "wrnResources", "config"]
}();
! function() {
"use strict";
function a() {
function a(a, e) {
if (0 === e || isNaN(e)) return a;
var n = r(e),
t = a.day(),
u = Math.abs(e),
o = 0;
0 === t && n === -1 ? o = 1 : 6 === t && 1 === n && (o = 1);
var s = u;
0 !== t && 6 !== t && n > 0 ? s += t : 0 !== t && 6 !== t && n < 0 && (s += 6 - t);
var c = Math.max(Math.floor(s / 5) - 1, 0) + (s > 5 && s % 5 > 0 ? 1 : 0);
return o += u + 2 * c, a.add(n * o, "days"), a
}
function r(a) {
return a = +a, a > 0 ? 1 : -1
}
return {
addWeekDays: a
}
}
angular.module("warren.common.services.weekdays", []).factory("weekdays", a), a.$inject = []
}();
! function() {
"use strict";
function e(e, t, i, s) {
function o(t, i) {
if ("prd" === y.key || "hml" === y.key) {
if (f) {
var s = "undefined" != typeof i ? i : t;
e.ga("send", "pageView", {
page: "/" + t,
title: s
})
}
if (g && e.fbq("track", "PageView"), S) try {
e.mixpanel.track("PageView", {
page: "/" + t,
title: s
})
} catch (e) {}
}
}
function r(t, i, s, o, r) {
"prd" !== y.key && "hml" !== y.key || f && e.ga("send", "event", t, i, s, o, r)
}
function a(t, i, s, o) {
"prd" !== y.key && "hml" !== y.key || f && e.ga("send", "timing", t, i, s, o)
}
function d(t, i) {
if (("prd" === y.key || "hml" === y.key) && g) {
var i = "undefined" != typeof i ? i : {};
e.fbq("trackCustom", t, i)
}
}
function n(e) {
if ("prd" === y.key || "hml" === y.key) return e ? void(S && mixpanel.identify(e._id.toString())) : null
}
function c(e, t, i, s) {
if ("prd" === y.key || "hml" === y.key) {
var o = p(e);
if (S) try {
u(t), m(t), e && "Suitability Finished" == t && s && mixpanel.alias(o.traitsOnce.customerId), e && (0 !== Object.keys(o.traitsOnce).length && mixpanel.people.set_once(o.traitsOnce), mixpanel.people.set(o.traits)), mixpanel.track(t, i)
} catch (e) {}
if (f) try {
ga("send", "event", "All", t, null, 1)
} catch (e) {}
}
}
function l() {
try {
mixpanel && mixpanel.reset()
} catch (e) {}
}
function u(e) {
var t = ["Suitability Started", "Suitability Finished", "Builder Started", "Builder Finished", "Register Step 1", "Register Step 2", "Register Step 3", "Register Step 4", "Deposit Created", "Invite Sent"],
i = {
"Suitability Started": "Suitability Finished",
"Suitability Finished": "Builder Started",
"Builder Started": "Builder Finished",
"Builder Finished": "Register Step 1",
"Register Step 1": "Register Step 2",
"Register Step 2": "Register Step 3",
"Register Step 3": "Register Step 4",
"Register Step 4": "Deposit Created"
};
t.includes(e) && mixpanel.time_event(i[e])
}
function m(e) {
document.addEventListener("DOMContentLoaded", function(t) {
var i = document.querySelectorAll(".mixpanel-trackclick");
i.forEach(function(t) {
mixpanel.track_links(t, e + " (links)", {
category: t.getAttribute("mix-category"),
device: t.getAttribute("mix-device"),
position: t.getAttribute("mix-position"),
description: t.getAttribute("mix-description"),
text: t.innerText
})
})
})
}
function p(e) {
var t = {},
i = {};
if (S) try {
e && (void 0 !== e._id && (i.customerId = e._id.toString()), void 0 !== e.name && (t.customerName = e.name), void 0 !== e.totalBalance && (t.customerTotalBalance = e.totalBalance), void 0 !== e.totalEarnings && (t.customerTotalEarnings = e.totalEarnings), void 0 !== e.createdAt && (i.customerCreatedAt = e.createdAt), void 0 !== e.isEmailVerified && (t.customerIsEmailVerified = e.isEmailVerified), void 0 !== e.isPasswordSet && (t.customerIsPasswordSet = e.isPasswordSet), void 0 !== e.isSuitabilityStarted && (t.customerIsSuitabilityStarted = e.isSuitabilityStarted), void 0 !== e.isSuitabilityFinished && (t.customerIsSuitabilityFinished = e.isSuitabilityFinished), void 0 !== e.isPortfolioStarted && (t.customerIsPortfolioStarted = e.isPortfolioStarted), void 0 !== e.isPortfolioFinished && (t.customerIsPortfolioFinished = e.isPortfolioFinished), void 0 !== e.portfolioFirstFinishedAt && (i.customerPortfolioFirstFinishedAt = e.portfolioFirstFinishedAt), void 0 !== e.isRegisterStarted && (t.customerIsRegisterStarted = e.isRegisterStarted), void 0 !== e.isRegisterFinished && (t.customerIsRegisterFinished = e.isRegisterFinished), void 0 !== e.isRegisterValidated && (t.customerIsRegisterValidated = e.isRegisterValidated), void 0 !== e.registerNotValidatedReason && (t.customerRegisterNotValidatedReason = e.registerNotValidatedReason), void 0 !== e.isRegisterVerified && (t.customerIsRegisterVerified = e.isRegisterVerified), void 0 !== e.isRegisterRejected && (t.customerIsRegisterRejected = e.isRegisterRejected), void 0 !== e.isRegisterModified && (t.customerIsRegisterModified = e.isRegisterModified), void 0 !== e.hasPortfolio && (t.customerHasPortfolio = e.hasPortfolio), void 0 !== e.registerRejectedReason && (t.customerRegisterRejectedReason = e.registerRejectedReason), void 0 !== e.registerLastStartedAt && (i.customerRegisterLastStartedAt = e.registerLastStartedAt), void 0 !== e.isInvestStarted && (t.customerIsInvestStarted = e.isInvestStarted), void 0 !== e.isInvestFinished && (t.customerIsInvestFinished = e.isInvestFinished), void 0 !== e.status && (t.customerStatus = e.status), void 0 !== e.dash && (t.customerDash = e.dash), void 0 !== e.crmCommunicationType && (t.customerCrmCommunicationType = e.crmCommunicationType), void 0 !== e.isPreregistered && (t.customerIsPreregistered = e.isPreregistered), void 0 !== e.acceptedTerms && (t.customerAcceptedTerms = e.acceptedTerms), void 0 !== e.lastAcceptedTermsAt && (t.customerLastAcceptedTermsAt = e.lastAcceptedTermsAt), void 0 !== e.firstAcceptedTermsAt && (i.customerFirstAcceptedTermsAt = e.firstAcceptedTermsAt), void 0 !== e.acceptedTermsCount && (t.customerAcceptedTermsCount = e.acceptedTermsCount), void 0 !== e.goWaitList && (t.customerGoWaitList = e.goWaitList), void 0 !== e.canCreateInvoice && (t.customerCanCreateInvoice = e.canCreateInvoice), void 0 !== e.depositAcceptedCount && (t.customerDepositAcceptedCount = e.depositAcceptedCount), void 0 !== e.depositFirstAcceptedAt && (i.customerDepositFirstAcceptedAt = e.depositFirstAcceptedAt), void 0 !== e.depositLastAcceptedAt && (t.customerDepositLastAcceptedAt = e.depositLastAcceptedAt), void 0 !== e.waitlistUnlockedVia && (i.customerWaitlistUnlockedVia = e.waitlistUnlockedVia), void 0 !== e.waitlistUnlockedAt && (i.customerWaitlistUnlockedAt = e.waitlistUnlockedAt), void 0 !== e.personalProfile && (void 0 !== e.personalProfile.sex && (t.customerSex = e.personalProfile.sex), void 0 !== e.personalProfile.birthDate && (t.customerBirthDate = e.personalProfile.birthDate), void 0 !== e.personalProfile.birthState && (t.customerBirthState = e.personalProfile.birthState), void 0 !== e.personalProfile.profession && (t.customerProfession = e.personalProfile.profession), void 0 !== e.personalProfile.maritalStatus && (t.customerMaritalStatus = e.personalProfile.maritalStatus)), void 0 !== e.address && void 0 !== e.address.state && (t.customerState = e.address.state), void 0 !== e.bankAccounts && void 0 !== e.bankAccounts.bank && (t.customerBank = e.bankAccounts.map(function(e) {
return e.bank
})), void 0 !== e.investmentProfile && (void 0 !== e.investmentProfile.monthlyIncome && (t.customerMonthlyIncome = e.investmentProfile.monthlyIncome), void 0 !== e.investmentProfile.deposit && (t.customerPatrimony = e.investmentProfile.deposit)), void 0 !== e.suitability && void 0 !== e.suitability.computedProfileType && (t.customerComputedProfileType = e.suitability.computedProfileType))
} catch (e) {}
return {
traits: t,
traitsOnce: i
}
}
function v(e) {
return i(function(t, i) {
s.post("https://www.googleapis.com/urlshortener/v1/url?key=AIzaSyB9O_xTdjl8brvydY-ocwQCZLb0CJU1M6k", {
longUrl: e
}).then(function(e) {
t(e.data)
}, function(e) {
i(e.data)
})
})
}
var f = !!e.ga,
g = !!e.fbq,
S = (!!e.analytics, !!e.mixpanel),
y = t.environment,
h = {
pageView: o,
event: r,
timing: a,
pixelFB: d,
track: c,
signout: l,
identify: n,
getShortenedURL: v
};
return h
}
angular.module("warren.common.services.analytics", []).factory("wrnAnalytics", e), e.$inject = ["$window", "config", "$q", "$http"]
}();
! function() {
"use strict";
function n(n, e, t, o, r, c, i, s, a, u, m) {
function p(n, e, t) {
var o = w();
return t = t || {}, t.file = e, i.upload({
url: v(n),
method: "PUT",
headers: o.headers,
data: t
})
}
function f(n) {
return h(t.get, [v(n), w()])
}
function l(n) {
return h(t.delete, [v(n), w()])
}
function d(n, e) {
return h(t.post, [v(n), e, w()])
}
function g(n, e) {
return h(t.put, [v(n), e, w()])
}
function h(e, c) {
var i = m.app.connection.timeslow,
p = m.app.connection.timeretry;
return n(function(n, m) {
var f = r(function() {
a.show(u.getString("common_connection_slow_message"))
}, i);
e.apply(t, c).then(function(e) {
r.cancel(f), a.hide(), n(e)
}, function(t) {
if (r.cancel(f), a.hide(), t.status === -1) a.show(u.getString("common_connection_timeout_message")), r(function() {
h(e, i).then(n, m)
}, p);
else if (401 === t.status) {
if ("signin" === o.current.name) return;
s.remove("accounts.accessToken"), s.remove("session.welcome");
var c = o.current.name,
i = o.params;
o.go("signin", {
backTo: c,
params: JSON.stringify(i)
})
} else m(t)
})
})
}
function v(n) {
n.startsWith("/") || (n = "/" + n);
var e = m.environment;
return T + ":" + e.port + n
}
function w() {
var n = {
headers: {
"Content-Type": "application/json"
},
timeout: m.app.connection.timeout
};
return s.isEmpty("accounts.accessToken") || (n.headers["Access-Token"] = s.get("accounts.accessToken")), n
}
var k = m.environment,
T = k.api,
$ = {
upload: p,
get: f,
delete_: l,
post: d,
put: g
};
return $
}
angular.module("warren.common.services.backend", []).factory("wrnBackend", n), n.$inject = ["$q", "$window", "$http", "$state", "$timeout", "$stateParams", "Upload", "wrnSession", "wrnConnectionFlash", "wrnResources", "config"]
}();
! function() {
"use strict";
function e(e, t, o) {
function n() {
var e = "queryCommandSupported" in document && document.queryCommandSupported("copy");
return warren.utils.isSafari() ? e && warren.utils.browserVersion() >= 10 : e
}
function r(e) {
var t = u(e);
c(t), i(t), d(t)
}
function u(e) {
var t = "rtl" == document.documentElement.getAttribute("dir"),
o = window.pageYOffset || document.documentElement.scrollTop,
n = document.createElement("textarea");
return n.style.fontSize = "12pt", n.style.border = "0", n.style.padding = "0", n.style.margin = "0", n.style.position = "absolute", n.style[t ? "right" : "left"] = "-9999px", n.style.top = o + "px", n.value = e, n.addEventListener("focus", window.scrollTo(0, o)), n.setAttribute("readonly", ""), document.body.appendChild(n), n
}
function c(e) {
e.focus(), e.setSelectionRange(0, e.value.length), document.execCommand("copy") || console.error("copy error")
}
function i(e) {
e.blur(), window.getSelection().removeAllRanges()
}
function d(e) {
document.body.removeChild(e)
}
var l = {
isSupported: n,
copy: r
};
return l
}
angular.module("warren.common.services.clipboard", []).factory("wrnClipboard", e), e.$inject = ["$window", "$document", "config"]
}();
! function() {
"use strict";
function n(n, e, t, o, a, r) {
function c(n) {
var e = s();
e.removeClass("wrn-hidden"), e.html(n)
}
function i() {
var n = s();
n.addClass("wrn-hidden")
}
function s() {
var n = r[0].getElementsByClassName("wrn-connection-flash");
if (n.length) return angular.element(n[0]);
var e = o(l)({});
return angular.element(document.getElementsByTagName("body")).append(e), e
}
var l = '<div class="wrn-connection-flash"></div>',
u = {
show: c,
hide: i
};
return u
}
angular.module("warren.common.services.connectionflash", []).factory("wrnConnectionFlash", n), n.$inject = ["$window", "$timeout", "$sce", "$compile", "$rootScope", "$document"]
}();
! function() {
"use strict";
function t(t) {
function n() {
Object.keys(a).forEach(function(t) {
t.startsWith("warren.context.") && o(t)
})
}
function e(t) {
var n = a["warren.context." + t];
return n ? JSON.parse(n) : n
}
function r(t, n) {
try {
a["warren.context." + t] = JSON.stringify(n)
} catch (t) {}
}
function c(t) {
return "undefined" != typeof a["warren.context." + t]
}
function o(t) {
delete a["warren.context." + t]
}
var a = t.localStorage || {},
i = {
clear: n,
get: e,
set: r,
has: c,
remove: o
};
return i
}
angular.module("warren.common.services.context", []).factory("wrnContext", t), t.$inject = ["$window"]
}();
! function() {
"use strict";
function n(n, r) {
function o(n, r) {
l && c.configure({
payload: {
person: {
id: n,
email: r
}
}
})
}
function a() {
l && "local" !== r.environment.name && c.warning.apply(c, arguments)
}
function e() {
l && "local" !== r.environment.name && c.error.apply(c, arguments)
}
function i() {
l && "local" !== r.environment.name && c.critical.apply(c, arguments)
}
var c = n.Rollbar,
l = !!c,
t = {
setPerson: o,
warning: a,
error: e,
critical: i
};
return t
}
angular.module("warren.common.services.crash", []).factory("wrnCrash", n), n.$inject = ["$window", "config"]
}();
! function() {
"use strict";
function n(n, t, e, i, r, a, s, o) {
function d(n, t, e) {
return u(n, t, "alert", e)
}
function l(n, t, e) {
return u(n, t, "dialog", e)
}
function p(n, t, e) {
return u(n, t, "prompt", e)
}
function c(n, t, e) {
return u(n, t, "password", e)
}
function v(n, t, e) {
return u(n, t, "groupInvite", e)
}
function w(n, t, e) {
return u(n, t, "inviteDetails", e)
}
function u(t, e, o, d) {
d = d || {};
var l = d.textCancel || "Cancelar",
p = d.textOk || "Continuar";
return n(function(n) {
a.setScrollBody(!0);
var c = g(o, d),
v = '<form ng-submit="close(\'ok\')"><div class="wrn-a-fade"><div class="wrn-dialog-overlay" ng-click="close(\'cancel\')"></div><div class="wrn-box-shadow-dialog wrn-dialog wrn-dialog-{{type}}"><!-- Dialog Title --><div class="wrn-navbar wrn-navbar-absolute wrn-text-center wrn-divider-bottom wrn-bg-white"><p class="wrn-navbar-text wrn-text-u-2 wrn-color-black">' + t + '</p></div><!-- Dialog Content --><div class="wrn-dialog-wrap"><div class="wrn-dialog-content wrn-text-center wrn-text-p-3 wrn-p-b-1 wrn-p-x-1"><div class="wrn-valign"><div class="wrn-valign-middle"><div class="message" ng-bind-html="message"></div>' + c + '</div></div></div></div><!-- Dialog option buttons --><div class="wrn-text-center inputs wrn-display-inline wrn-c-12 wrn-bg-gray-4 wrn-p-x-1"><span class="wrn-p-r-1"><a href="" class="wrn-link-u-1 wrn-link" ng-click="close(\'cancel\')">' + l + '</a></span><span class="wrn-p-l-1"><a id="dialog_submit" href="" class="wrn-link-u-1 wrn-link" ng-click="close(\'ok\')"ng-keydown="close(\'ok\', $event)">' + p + "</a></span></div></div></div></form>",
w = a.$new();
w.type = o, w.message = i.trustAsHtml(e), w.close = function(t, e) {
if (!e || 13 === e.keyCode) {
if ("prompt" === o || "password" === o) {
var i = document.getElementById("dialog_" + o).value;
t = {
response: t,
value: i
}
}
if ("groupInvite" === o) {
var r = document.getElementById("dialog_" + o).value,
s = document.getElementById("dialog_" + o + "Adm").checked;
t = {
response: t,
value: {
email: r,
isAdmin: s
}
}
}
n(t), u.remove(), a.setScrollBody(!1)
}
};
var u = r(v)(w);
angular.element(document.getElementsByTagName("body")).append(u);
var m = "dialog_submit";
"prompt" !== o && "password" !== o || (m = "dialog_" + o), s(function() {
document.getElementById(m).focus()
}, 50)
})
}
function g(n, t) {
var e = (("password" === n).toString(), ("prompt" === n).toString(), ("groupInvite" === n).toString(), ("inviteDetails" === n).toString(), t.goalName || "");
switch (n) {
case "password":
return '<div class="input"><input id="dialog_password" type="password"/></div>';
case "prompt":
return '<div class="input"><input id="dialog_prompt" type="text"/></div>';
case "groupInvite":
return '<div class="wrn-p-t-1"><p class="wrn-text-h-3 wrn-m-0">“' + e + '”</p><p class="wrn-text-p-5 wrn-m-t-0">Objetivo</p><p class="wrn-text-p-3 wrn-m-b-0">Insira abaixo o e-mail de quem você quer convidar a alcançar este objetivo com você.</p></div><div class="input"><div class="wrn-c-10 wrn-c-offset-1 wrn-p-y-05"><label class=" wrn-hidden-mobile wrn-c-3 wrn-c-pull-1" for="dialog_groupInvite">&emsp;E-mail</label><label class=" wrn-hidden-desktop wrn-c-4 wrn-c-pull-1" for="dialog_groupInvite">&ensp;E-mail</label><input id="dialog_groupInvite" type="email"/></div></div><div class="wrn-checkbox-container"><input id="dialog_groupInviteAdm" type="checkbox" checked/><label for="dialog_groupInviteAdm" class="wrn-link wrn-c-10 wrn-c-offset-1 wrn-p-sm-05 wrn-bg-gray-4 wrn-text-p-3 wrn-text-left">Administrador</label><p class="wrn-text-p-5" style="padding-top: 4px;">Pode editar o objetivo, adicionar e remover participantes.</p></div>';
case "inviteDetails":
return '<div class="wrn-p-x-1"><div class="wrn-text-center wrn-c-12 wrn-text-h-3 wrn-p-b-1" style="padding-top: 8px">Detalhes do Objetivo</div><div class="wrn-text-left wrn-c-12 wrn-divider-top wrn-p-b-1" style="padding-top: 8px"><div class="wrn-text-p-2">' + t.group.name + '</div><div class="wrn-text-p-6">Nome do Objetivo</div></div><div class="wrn-text-left wrn-c-12 wrn-divider-top wrn-p-b-1" style="padding-top: 8px"><div class="wrn-text-p-2">' + t.group.memberQuantityOnBuilder + '</div><div class="wrn-text-p-6">Participantes</div></div><div class="wrn-text-left wrn-c-12 wrn-divider-top wrn-p-b-1" style="padding-top: 8px"><div class="wrn-text-p-2">' + o("money")(t.group.goalAmount, "R$ ", 2) + '</div><div class="wrn-text-p-6">Objetivo</div></div><div class="wrn-text-left wrn-c-12 wrn-divider-top wrn-p-b-1" style="padding-top: 8px"><div class="wrn-text-p-2">' + t.group.goalDuration + ' ano(s)</div><div class="wrn-text-p-6">Tempo</div></div><div class="wrn-text-left wrn-c-12 wrn-divider-top wrn-p-b-1" style="padding-top: 8px"><div class="wrn-text-p-2">' + o("money")(t.group.initialInvestmentPerMember, "R$ ", 2) + '</div><div class="wrn-text-p-6">Investimento inicial</div></div><div class="wrn-text-left wrn-c-12 wrn-divider-top" style="padding-top: 8px"><div class="wrn-text-p-2">' + o("money")(t.group.monthlyInvestmentPerMember, "R$ ", 2) + '</div><div class="wrn-text-p-6">Investimento mensal</div></div></div>';
default:
return ""
}
}
var m = {
alert: d,
confirm: l,
prompt: p,
password: c,
groupInvite: v,
inviteDetails: w
};
return m
}
n.$inject = ["$q", "$window", "$document", "$sce", "$compile", "$rootScope", "$timeout", "$filter"], angular.module("warren.common.services.dialog", []).factory("wrnDialog", n)
}();
! function() {
"use strict";
function n(n, o, e) {
function t() {
if (!s) {
var o = n.FB;
o.init({
appId: e.facebook.appId,
version: e.facebook.apiVersion,
status: !0,
cookie: !0,
xfbml: !0
}), s = !0
}
}
function i() {
return !!n.FB
}
function u() {
var e = n.FB;
return e ? (t(), o(function(n, o) {
e.getLoginStatus(function(e) {
"connected" === e.status ? n(e) : o(e)
})
})) : o(function(n, o) {
o()
})
}
function c() {
var e = n.FB;
return e ? (t(), o(function(n, o) {
var t = {};
e.login(function(e) {
e.authResponse ? (t.accessToken = e.authResponse.accessToken, t.expiresIn = e.authResponse.expiresIn, t.userId = e.authResponse.userID, n(t)) : o()
}, {
scope: "public_profile,email"
})
})) : o(function(n, o) {
o()
})
}
function r() {
var e = n.FB;
return e ? (t(), o(function(n, o) {
e.logout(function(o) {
n()
})
})) : o(function(n, o) {
o()
})
}
var s = !1,
a = {
status: u,
login: c,
logout: r,
scriptLoaded: i
};
return a
}
angular.module("warren.common.services.facebook", []).factory("wrnFacebook", n), n.$inject = ["$window", "$q", "config"]
}();
! function() {
"use strict";
function n(n, e, s, a, i, t) {
function r(n) {
var r = '<nav class="wrn-navbar wrn-navbar-absolute wrn-bg-white wrn-flash wrn-box-shadow-soft wrn-flash-{{type}}"><div class="wrn-container-fluid wrn-row"><div class="wrn-c-1 wrn-text-left"><a href="" class="wrn-link"><img class="wrn-rotate-90 wrn-navbar-icon" src="/assets/imgs/icons/ic_close_white.svg" alt="Fechar"></a></div><div class="wrn-c-10 wrn-text-center"><p class="wrn-flash-message wrn-navbar-text wrn-text-u-2" ng-show="message" ng-bind-html="message"></p></div></div></nav>',
o = i.$new();
o.type = "undefined" != typeof n.type ? n.type : "default", o.message = "undefined" != typeof n.message ? n.message : "", o.icon = "undefined" != typeof n.icon && n.icon, o.delay = "undefined" != typeof n.delay ? n.delay : 2e3, n.raw || (o.message = t.getString(o.message) || t.getString("error_default")), o.message = s.trustAsHtml(o.message);
var c = a(r)(o);
c.bind("webkitTransitionEnd oTransitionEnd otransitionend transitionend msTransitionEnd", function(n) {
n = n.originalEvent || n, ("click" === n.type || c.hasClass("killed")) && c.remove()
}), c.bind("click", function(n) {
c.addClass("killed")
}), angular.isNumber(o.delay) && e(function() {
c.addClass("killed")
}, o.delay), e(function() {
c.addClass("started")
}, 0), angular.element(document.getElementsByTagName("body")).append(c)
}
function o(n, e) {
e = e || {}, e.message = n, e.type = "default", r(e)
}
function c(n, e) {
e = e || {}, e.message = n, e.type = "success", e.icon = e.icon || "fa-check", r(e)
}
function l(n, e) {
e = e || {}, e.message = n, e.type = "error", e.icon = e.icon || "fa-close", r(e)
}
function d(n, e) {
e = e || {}, e.message = n, e.type = "info", e.icon = e.icon || "fa-info", r(e)
}
function f(n, e) {
e = e || {}, e.message = n, e.type = "warning", e.icon = e.icon || "fa-warning", r(e)
}
var u = {
notify: r,
simple: o,
success: c,
error: l,
info: d,
warning: f
};
return u
}
angular.module("warren.common.services.flash", []).factory("wrnFlash", n), n.$inject = ["$window", "$timeout", "$sce", "$compile", "$rootScope", "wrnResources"]
}();
! function() {
"use strict";
function t(t) {
function n(t, n) {
e.push({
state: t,
params: n
})
}
function r() {
return e
}
function u(n) {
var r = a(n || -1);
return !!r && t.go(r.state, r.params)
}
function a(t) {
return e[e.length - Math.abs(t || 1)]
}
function s() {
return u(-1)
}
var e = [],
o = {
push: n,
all: r,
go: u,
previous: a,
back: s
};
return o
}
function n(t, n, r) {
function u(t, n, u, a, s) {
a.abstract || r.push(a, s)
}
t.$on("$stateChangeSuccess", u), r.push(n.current, n.params)
}
angular.module("warren.common.services.history", []).factory("wrnHistory", t).run(n), t.$inject = ["$state"], n.$inject = ["$rootScope", "$state", "wrnHistory"]
}();
! function() {
"use strict";
function e(e, o) {
function n() {
if ("undefined" == typeof e.google) return null;
var o = e.google.maps;
return o
}
function r(n) {
var r = e.google.maps;
return o(function(e, o) {
var a = new r.Geocoder,
s = {
address: n + ", Brasil",
region: "BR"
};
a.geocode(s, function(n, a) {
a === r.GeocoderStatus.OK ? e(t(n[0])) : o(a)
})
})
}
function a(n) {
var r = e.google.maps;
return o(function(e, o) {
var a = new r.Geocoder,
s = {
address: n + ", Brasil",
bounds: new r.LatLngBounds(new r.LatLng(-30.2614377, -57.6298431), new r.LatLng(-22.1660297, -41.0898052)),
region: "br"
};
a.geocode(s, function(n, a) {
if (a === r.GeocoderStatus.OK) {
for (var s = [], i = 0; i < n.length; i++) s.push(t(n[i]));
e(s)
} else o(a)
})
})
}
function t(e) {
var o = {};
o.latitude = e.geometry.location.lat(), o.longitude = e.geometry.location.lng();
for (var n = 0; n < e.address_components.length; n++)
for (var r = e.address_components[n], a = 0; a < r.types.length; a++) {
var t = r.types[a];
if ("street_number" === t) {
o.number = r.long_name;
break
}
if ("route" === t || "street_address" === n) {
o.address = r.long_name;
break
}
if ("sublocality_level_1" === t || "sublocality" === t) {
o.neighborhood = r.long_name;
break
}
if ("locality" === t || "administrative_area_level_2" === t) {
o.city = r.long_name;
break
}
if ("administrative_area_level_1" === t) {
o.state = r.long_name, o.stateCode = r.short_name;
break
}
if ("country" === t) {
o.country = r.long_name, o.countryCode = r.short_name;
break
}
if ("postal_code" === t) {
o.zipcode = r.long_name.replace("-", "");
break
}
}
return o
}
var s = {
getMaps: n,
getGeocodeByAddress: r,
getGeocodesByAddress: a,
parseGeocoderResult: t
};
return s
}
angular.module("warren.common.services.maps", []).factory("wrnMaps", e), e.$inject = ["$window", "$q"]
}();
! function() {
"use strict";
function o(o) {
function n(n) {
var t = o.location.protocol + "//" + o.location.host;
o.location.href = t + n
}
var t = {
go: n
};
return t
}
angular.module("warren.common.services.path", []).factory("wrnPath", o), o.$inject = ["$window"]
}();
! function() {
"use strict";
function e(e, t, r) {
function n() {
c("resources.xml")
}
function a(e) {
var t = Array.prototype.slice.call(arguments, 1);
if (w[e]) return k(w[e].value, t)
}
function u(e, t) {
if (M[e]) return t = t || "value", M[e][t]
}
function i(e, t) {
if (T[e]) return t = t || "value", T[e][t]
}
function o(e) {
if (N[e]) return N[e].value
}
function l(e) {
if (L[e]) return L[e].value
}
function s(e, t) {
if (x[e]) {
var r = Array.prototype.slice.call(arguments, 2),
n = x[e] ? x[e].value : {},
a = null;
return a = 0 === t ? n.zero : 1 === t ? n.one : 2 === t ? n.two : n.other, k(a || "", r)
}
}
function c(t) {
var n = r[t];
if (!n) return void console.warn('Resource "' + t + '" not loaded');
var a = null;
if (e.DOMParser) {
var u = new DOMParser;
a = u.parseFromString(n, "text/xml")
} else a = new ActiveXObject("Microsoft.XMLDOM"), a.async = !1, a.loadXML(n);
if (!a) throw new Error('Invalid resource file "' + t + '"');
for (var i = a.documentElement.childNodes, o = 0; o < i.length; o++) v(i[o])
}
function v(e) {
if (1 === e.nodeType) switch (e.nodeName) {
case "string":
f(e);
break;
case "value":
p(e);
break;
case "link":
d(e);
break;
case "string-array":
g(e);
break;
case "value-array":
b(e);
break;
case "plurals":
m(e)
}
}
function f(e) {
w[e.attributes.name.value] = {
value: h(e.innerHTML || e.textContent)
}
}
function p(e) {
M[e.attributes.name.value] = {
type: e.attributes.type.value,
mask: e.attributes.mask && e.attributes.mask.value,
value: y(e.innerHTML || e.textContent, e.attributes.type.value)
}
}
function d(e) {
T[e.attributes.name.value] = {
href: e.attributes.href.value,
value: h(e.innerHTML || e.textContent)
}
}
function g(e) {
for (var t = [], r = 0; r < e.childNodes.length; r++) {
var n = e.childNodes[r];
1 === n.nodeType && t.push(h(n.innerHTML || n.textContent))
}
N[e.attributes.name.value] = {
value: t
}
}
function b(e) {
for (var t = t && e.attributes.type.value, r = e.attributes.mask && e.attributes.mask.value, n = [], a = 0; a < e.childNodes.length; a++) {
var u = e.childNodes[a];
1 === u.nodeType && n.push(y(u.innerHTML || u.textContent, t))
}
L[e.attributes.name.value] = {
type: t,
mask: r,
value: n
}
}
function m(e) {
for (var t = {}, r = 0; r < e.childNodes.length; r++) {
var n = e.childNodes[r];
if (1 === n.nodeType) {
var a = n.attributes.quantity.value;
t[a] = h(n.innerHTML || n.textContent)
}
}
x[e.attributes.name.value] = {
value: t
}
}
function y(e, t) {
return "integer" === t ? parseInt(e) : "float" === t ? parseFloat(e) : "true" === e
}
function h(e) {
return e.replace(/<!\[CDATA\[/g, "").replace(/]]>/g, "").replace(/\\"/g, '"').replace(/\\'/g, "'").replace(/\\n/g, "<br/>").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&")
}
function k(t, r) {
return r ? e.vsprintf(t, r) : t
}
var w = {},
M = {},
T = {},
x = {},
L = {},
N = {},
A = {
initialize: n,
getString: a,
getValue: u,
getLink: i,
getStringArray: o,
getValueArray: l,
getQuantityString: s
};
return A
}
function t(e, t) {
t.initialize()
}
angular.module("warren.common.services.resources", []).factory("wrnResources", e).run(t), e.$inject = ["$window", "$filter", "resources"], t.$inject = ["$rootScope", "wrnResources"]
}();
! function() {
"use strict";
function e(e, t) {
function n(e) {
return !o(e)
}
function r(e) {
e = "warren." + e, c ? (i.removeItem(e), m.removeItem(e)) : (delete i[e], delete m[e], delete u[e])
}
function o(e) {
return e = "warren." + e, u[e] ? u[e] : c ? m.hasOwnProperty(e) ? m.getItem(e) : i.getItem(e) : i[e]
}
function a(e, t, n) {
if (e = "warren." + e, n = "undefined" != typeof n && n, c) try {
n ? m.setItem(e, t) : i.setItem(e, t)
} catch (n) {
u[e] = t
} else i[e] = t
}
function s() {
i.clear(), m.clear()
}
var c = !!e.localStorage,
i = e.localStorage || {},
m = e.sessionStorage || {},
u = {},
l = {
isEmpty: n,
remove: r,
get: o,
set: a,
clean: s
};
return l
}
angular.module("warren.common.services.session", []).factory("wrnSession", e), e.$inject = ["$window", "$stateParams"]
}();
! function() {
"use strict";
function e(e, t) {
function o(e, t, o, n) {
n = n || 0, t = "undefined" == typeof t ? 500 : t, o = o || warren.utils.easing.sineInOut;
var s = i(),
l = Math.min(c(e) + n, f());
if (!isNaN(l)) {
var a = t / u,
m = 1 / u;
r(s, l, a, m, o)
}
}
function n(e, t, o) {
if (0 === t) r(0, e, 0, 0, 0, 1);
else {
t = "undefined" == typeof t ? 500 : t, o = o || warren.utils.easing.sineInOut;
var n = i(),
c = t / u,
f = 1 / u;
r(n, e, c, f, o)
}
}
function r(o, n, i, c, f, u) {
if (u = u || 0, u >= 1) return void e.scrollTo(0, n);
var s = f(o, n, u);
e.scrollTo(0, s), t(function() {
r(o, n, i, c, f, u + c)
}, i)
}
function i() {
return e.pageYOffset ? e.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0
}
function c(e) {
var t = document.getElementById(e);
if (t) {
for (var o = t.offsetTop; t.offsetParent && t.offsetParent != document.body;) t = t.offsetParent, o += t.offsetTop;
return o
}
}
function f() {
var t = document.body,
o = document.documentElement,
n = Math.max(t.scrollHeight, t.offsetHeight, o.clientHeight, o.scrollHeight, o.offsetHeight);
return Math.max(n - e.innerHeight, 0)
}
var u = 30,
s = {
to: o,
toPosition: n
};
return s
}
angular.module("warren.common.services.smoothscroll", []).factory("wrnSmoothScroll", e), e.$inject = ["$window", "$timeout"]
}();
! function() {
"use strict";
function e(e, t, n, r) {
function c(t) {
if (t !== m) return e(function(e, r) {
var c = o[t];
if (c) {
m = t;
var i = n.get(u + t + ".name");
if (i != c) n.remove(u + t + ".name"), n.remove(u + t + ".file"), s(t, c);
else {
var f = n.get(u + t + ".file");
a(f)
}
e()
}
})
}
function i() {
return r.isBlack() ? "black" : "pink"
}
function a(e) {
var t;
t = document.getElementById("theme-style-override"), t || (t = document.createElement("style"), t.setAttribute("id", "theme-style-override"), document.body.appendChild(t)), t.innerHTML = e
}
function s(e) {
t.get("/assets/css/" + o[e], {
responseType: "text"
}).then(function(t) {
a(t.data), n.set(u + e + ".name", e), n.set(u + e + ".data", t.data)
}, function(e) {})
}
var o = {
pink: "app-pink-3b47c9b.css",
black: "app-black-3b47c9b.css"
},
m = "pink",
u = "themes_cache.",
f = {
setTheme: c,
getTheme: i
};
return f
}
e.$inject = ["$q", "$http", "wrnSession", "wrnUser"], angular.module("warren.common.services.theme", []).factory("wrnTheme", e)
}();
! function() {
"use strict";
function n(n, c) {
function t(n) {
c.Webcam && c.Webcam.attach(n)
}
function a(n) {
c.Webcam && c.Webcam.set(n)
}
function e() {
return !!c.Webcam
}
function i() {
c.Webcam && c.Webcam.reset()
}
function o() {
if (c.Webcam) return n(function(n, t) {
try {
c.Webcam.snap(function(c) {
n(c)
})
} catch (n) {
t(n)
}
})
}
var r = {
attach: t,
config: a,
isReady: e,
shutdown: i,
snap: o
};
return r
}
angular.module("warren.common.services.webcam", []).factory("wrnWebcam", n), n.$inject = ["$q", "$window"]
}();
! function() {
"use strict";
function n(n, t, o) {
function e() {
if (!n.$zopim) return void console.warn("Zopim chat could not be loaded.");
if (!l) {
if (f = n.$zopim.livechat, !f) return void console.warn("Chat not loaded yet.");
f.setLanguage("pt_BR"), f.setOnConnected(d), f.setOnUnreadMsgs(r), f.setOnChatEnd(h), f.setOnChatStart(w), f.window.onShow(s), f.window.onHide(u), f.isChatting() && i(), l = !0
}
}
function i() {
try {
window.$zopim.livechat.window.show()
} catch (n) {
o.alert("Ops!", "Não foi possível abrir o chat.", {
textCancel: " ",
textOk: "Ok"
})
}
}
function a(o, e, i) {
function a() {
f && (f.setName(o), f.setEmail(e), i && f.setPhone(i))
}
n.$zopim ? a() : (t(a, 3e3), t(a, 6e3))
}
function c() {
f.window.hide(), f.isChatting() && f.button.show()
}
function s(n) {
f.button.hide(), i()
}
function u(n) {
f.isChatting() && f.button.show()
}
function r(n) {
n > 0 && i()
}
function d(n) {}
function h(n) {}
function w(n) {}
var f = null,
l = !1;
n.$zopim ? e() : (t(e, 3e3), t(e, 6e3), t(e, 15e3));
var m = {
openChat: i,
closeChat: c,
setUser: a
};
return m
}
n.$inject = ["$window", "$timeout", "wrnDialog"], angular.module("warren.common.services.zendesk", []).factory("zendesk", n)
}();
! function() {
"use strict";
function r() {
function r(r, e, t, i) {
var a = t.wrnValidatorAll || "$default";
n[a] || (n[a] = []), n[a].push(i), i.$parsers.unshift(function(r) {
var e, t = n[a],
i = !0;
for (e = 0; e < t.length; e++)
if (!t[e].$viewValue) {
i = !1;
break
}
for (e = 0; e < t.length; e++) t[e].$setValidity("any", i);
return r
}), e.on("$destroy", function() {
n[a].splice(n[a].indexOf(i), 1)
})
}
var n = {};
return {
restrict: "A",
require: "ngModel",
link: r
}
}
angular.module("warren.common.validators.all", []).directive("wrnValidatorAll", r), r.$inject = []
}();
! function() {
"use strict";
function n() {
function n(n, e, t, i) {
var a = t.wrnValidatorAny || "$default";
r[a] || (r[a] = []), r[a].push(i), i.$parsers.unshift(function(n) {
var e, t = r[a],
i = !1;
for (e = 0; e < t.length; e++)
if (t[e].$viewValue) {
i = !0;
break
}
for (e = 0; e < t.length; e++) t[e].$setValidity("any", i);
return n
}), e.on("$destroy", function() {
r[a].splice(r[a].indexOf(i), 1)
})
}
var r = {};
return {
restrict: "A",
require: "ngModel",
link: n
}
}
angular.module("warren.common.validators.any", []).directive("wrnValidatorAny", n), n.$inject = []
}();
! function() {
"use strict";
function r() {
function r(r, n, i, e) {
e.$parsers.unshift(function(r) {
var n = (r || "").toString(),
i = !0;
return 11 != n.length ? i = !1 : n.match(/^([0-9])\1*$/) ? i = !1 : t(n, 9) ? t(n, 10) || (i = !1) : i = !1, e.$setValidity("cpf", i), r
})
}
function t(r, t) {
for (var n = 0, i = 0, e = t + 1; i < t; i++, e--) n += parseInt(r[i]) * e;
var a = n % 11 < 2 ? 0 : 11 - n % 11;
return a.toString() === r[t]
}
return {
restrict: "A",
require: "ngModel",
link: r
}
}
angular.module("warren.common.validators.cpf", []).directive("wrnValidatorCpf", r), r.$inject = []
}();
! function() {
"use strict";
function t() {
function t(t, r, n, e) {
e.$parsers.unshift(function(t) {
var r = (t || "").toString().replace(/[\/|-]/g, ""),
n = !0,
i = parseInt(r.substring(0, 2)),
a = parseInt(r.substring(2, 4)),
s = parseInt(r.substring(4));
return 8 !== r.length ? n = !1 : !i || i < 1 || i > 31 ? n = !1 : !a || a < 1 || a > 12 ? n = !1 : (!s || s < 0) && (n = !1), e.$setValidity("date", n), t
})
}
return {
restrict: "A",
require: "ngModel",
link: t
}
}
angular.module("warren.common.validators.date", []).directive("wrnValidatorDate", t), t.$inject = []
}();
! function() {
"use strict";
function r(r) {
function t(r, t, n, Z) {
function e(r) {
var t = i.test(r);
return Z.$setValidity("email", t), r
}
var i = /(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*))*)?;\s*)/;
Z.$parsers.unshift(function(r) {
return e(r)
}), Z.$formatters.unshift(function(r) {
return e(r)
})
}
return {
restrict: "A",
require: "ngModel",
link: t,
scope: !1
}
}
angular.module("warren.common.validators.email", []).directive("wrnValidatorEmail", r), r.$inject = ["$parse"]
}();
! function() {
"use strict";
function t(t) {
function n(t, n, r, e) {
function a(t) {
var n = i.val(),
r = n === t;
return e.$setValidity("match", r), t
}
var i = r.wrnValidatorMatch;
i && (i = document.getElementById(i), i && (i = angular.element(i), e.$parsers.unshift(function(t) {
return a(t)
}), e.$formatters.unshift(function(t) {
return a(t)
})))
}
return {
restrict: "A",
require: "ngModel",
link: n,
scope: !1
}
}
angular.module("warren.common.validators.match", []).directive("wrnValidatorMatch", t), t.$inject = ["$parse"]
}();
! function() {
"use strict";
function t() {
function t(t, e, r, a) {
var n = r.wrnValidatorMaxdate;
if (n) {
var i, s, l;
if ("today" === n) n = new Date, i = n.getFullYear(), s = n.getMonth() + 1, l = n.getDate();
else {
var o = n.split("-");
i = parseInt(o[0]), s = parseInt(o[1]), l = parseInt(o[2])
}
if (!l || !s || !i) throw 'Invalid date "' + n + '".';
a.$parsers.unshift(function(t) {
var e = (t || "").toString().replace(/[\/|-]/g, ""),
r = !0,
n = parseInt(e.substring(0, 2)),
o = parseInt(e.substring(2, 4)),
u = parseInt(e.substring(4));
return 8 !== e.length ? r = !1 : u > i ? r = !1 : u === i && o > s ? r = !1 : u === i && o === s && n > l && (r = !1), a.$setValidity("maxdate", r), t
})
}
}
return {
restrict: "A",
require: "ngModel",
link: t
}
}
angular.module("warren.common.validators.maxdate", []).directive("wrnValidatorMaxdate", t), t.$inject = []
}();
! function() {
"use strict";
function t() {
function t(t, e, n, r) {
var a = n.wrnValidatorMindate;
if (a) {
var i, s, l;
if ("today" === a) a = new Date, i = a.getFullYear(), s = a.getMonth(), l = a.getDate();
else {
var o = a.split("-");
i = parseInt(o[0]), s = parseInt(o[1]), l = parseInt(o[2])
}
if (!l || !s || !i) throw 'Invalid date "' + a + '".';
r.$parsers.unshift(function(t) {
var e = (t || "").toString().replace(/[\/|-]/g, ""),
n = !0,
a = parseInt(e.substring(0, 2)),
o = parseInt(e.substring(2, 4)),
u = parseInt(e.substring(4));
return 8 !== e.length ? n = !1 : u < i ? n = !1 : u === i && o < s ? n = !1 : u === i && o === s && a < l && (n = !1), r.$setValidity("mindate", n), t
})
}
}
return {
restrict: "A",
require: "ngModel",
link: t
}
}
angular.module("warren.common.validators.mindate", []).directive("wrnValidatorMindate", t), t.$inject = []
}();
! function() {
"use strict";
function n(n) {
function r(n, r, t, i) {
function e(n) {
var r = !1;
"undefined" != typeof n && null !== n || (n = "");
var t = n.trim().replace(/\s+/g, " ").split(" ");
return t.length > 1 && (r = !0), i.$setValidity("minstrings", r), n
}
i.$parsers.unshift(function(n) {
return e(n)
}), i.$formatters.unshift(function(n) {
return e(n)
})
}
return {
restrict: "A",
require: "ngModel",
link: r,
scope: !1
}
}
angular.module("warren.common.validators.minstrings", []).directive("wrnValidatorMinstring", n), n.$inject = ["$parse"]
}();
! function() {
"use strict";
function n(n) {
function r(n, r, t, e) {
function i(n) {
var r = !1;
return "undefined" != typeof n && null !== n || (n = ""), n = n.split(".").join(""), n >= 100 && (r = !0), e.$setValidity("minvalue", r), n
}
e.$parsers.unshift(function(n) {
return i(n)
}), e.$formatters.unshift(function(n) {
return i(n)
})
}
return {
restrict: "A",
require: "ngModel",
link: r,
scope: !1
}
}
angular.module("warren.common.validators.minvalue", []).directive("wrnValidatorMinvalue", n), n.$inject = ["$parse"]
}();
! function() {
"use strict";
function t(t) {
function e(t, e, i, n) {
function r(t) {
var e = !1;
if ("undefined" != typeof t && null !== t || (t = ""), "undefined" != typeof u)
for (var i = u.length - 1; i >= 0; i--)
if (t === u[i]) {
e = !0;
break
}
return n.$setValidity("whitelist", e), t
}
var u = t.$eval(i.wrnValidatorWhitelist);
n.$parsers.unshift(function(t) {
return r(t)
}), n.$formatters.unshift(function(t) {
return r(t)
})
}
return {
restrict: "A",
require: "ngModel",
link: e,
scope: !1
}
}
angular.module("warren.common.validators.whitelist", []).directive("wrnValidatorWhitelist", t), t.$inject = ["$parse"]
}();
! function() {
"use strict";
function e(e, n) {
function a(a, t, i, d, s) {
function r() {
a.data.isOpen = !a.data.isOpen
}
function o(n, a) {
for (var t = 0; t < n.length; t++) {
var i = n[t],
d = e.document.createElement("li");
d.appendChild(i), a.append(d)
}
}
a.data = {
isOpen: !1,
isLoggedIn: !1,
classType: "",
classPosition: ""
}, a.toggleMenu = r, a.data.isLoggedIn = !n.isEmpty("accounts.accessToken");
var l = s(),
f = angular.element(l[0] || t.find("defaults-mobile")),
p = angular.element(l[1] || t.find("defaults-desktop")),
c = f.find("a"),
u = p.find("a");
o(c, t.find("mobile-links")), o(u, t.find("desktop-links"));
var m = "";
"undefined" != typeof i.primary && (m = "primary"), "undefined" != typeof i.secondary && (m = "secondary"), "undefined" != typeof i.tertiary && (m = "tertiary"), a.data.classType = "wrn-navbar-" + m;
var y = "";
"undefined" != typeof i.absolute && (y = "absolute"), "undefined" != typeof i.fixed && (y = "fixed"), a.data.classPosition = "wrn-navbar-" + y
}
return {
scope: {
initial: "="
},
templateUrl: "app/components/dashheader/dashheader.template.html",
link: a,
transclude: !0
}
}
angular.module("warren.components.dashheader", []).directive("wrnDashHeader", e), e.$inject = ["$window", "wrnSession"]
}();
! function() {
"use strict";
function e(e, n) {
function a(a, t, d, i, r) {
function o() {
a.data.isOpen = !a.data.isOpen
}
function s(n, a) {
for (var t = 0; t < n.length; t++) {
var d = n[t],
i = e.document.createElement("li");
i.appendChild(d), a.append(i)
}
}
a.data = {
isOpen: !1,
isLoggedIn: !1,
classType: "",
classPosition: ""
}, a.toggleMenu = o, a.data.isLoggedIn = !n.isEmpty("accounts.accessToken");
var f = r(),
p = angular.element(f[0] || t.find("defaults-mobile")),
l = angular.element(f[1] || t.find("defaults-desktop")),
u = p.find("a"),
c = l.find("a");
s(u, t.find("mobile-links")), s(c, t.find("desktop-links"));
var g = "";
"undefined" != typeof d.primary && (g = "primary"), "undefined" != typeof d.secondary && (g = "secondary"), "undefined" != typeof d.tertiary && (g = "tertiary"), "undefined" != typeof d.gradient1 && (g = "gradient-1"), "undefined" != typeof d.gradient2 && (g = "gradient-2"), "undefined" != typeof d.gradient3 && (g = "gradient-3"), "undefined" != typeof d.gradient4 && (g = "gradient-4"), "undefined" != typeof d.gradient5 && (g = "gradient-5"), a.data.classType = "wrn-navbar-" + g;
var y = "";
"undefined" != typeof d.absolute && (y = "absolute"), "undefined" != typeof d.fixed && (y = "fixed"), a.data.classPosition = "wrn-navbar-" + y
}
return {
scope: {},
templateUrl: "app/components/header/header.template.html",
link: a,
transclude: !0
}
}
angular.module("warren.components.header", []).directive("wrnHeader", e), e.$inject = ["$window", "wrnSession"]
}();
! function() {
"use strict";
function s() {
return {
scope: {},
template: '<div class="wrn-fullscreen-loader"><img src="/assets/imgs/icons/loaders/01.svg" class="img img-1"><img src="/assets/imgs/icons/loaders/02.svg" class="img img-2"><img src="/assets/imgs/icons/loaders/03.svg" class="img img-3"><img src="/assets/imgs/icons/loaders/04.svg" class="img img-4"></div>'
}
}
angular.module("warren.components.loader", []).directive("wrnLoader", s), s.$inject = []
}();
! function() {
"use strict";
function n(n, i, o) {
function t(t, e, s) {
var c = n.syncGetAll();
c = warren.utils.deepcopy(c), t.notifications = c, t.config = !1, n.markAsRead(), t.loading = !0, n.sync().then(function(i) {
t.loading = !1, c = n.syncGetAll(), t.notifications = warren.utils.deepcopy(c), n.markAsRead()
}), t.configs = i.getCurrent(!0).notificationsConfig, t.saveConfig = function() {
t.isSaving = !0, i.updateNotificationsConfig({
notificationsConfig: t.configs
}).then(function(n) {
t.isSaving = !1, o.success("user_config_save_success")
}, function(n) {
console.error(n), o.error(n.message)
})
}
}
return {
templateUrl: "app/components/notifications/notifications.template.html",
link: t
}
}
angular.module("warren.components.notifications", []).directive("wrnNotifications", n), n.$inject = ["wrnNotifications", "wrnUser", "wrnFlash"]
}();
! function() {
"use strict";
function e(e, n, t, i, o, a, r, s) {
function c(e, c, d) {
function m() {
var n, r = e.user.referralId;
switch (a.environment.name) {
case "local":
n = "local.oiwarren.com:5000/";
break;
case "development":
n = "https://develop.oiwarren.com/";
break;
case "staging":
n = "https://staging.oiwarren.com/";
break;
case "production":
n = "https://oiwarren.com/";
break;
default:
n = "https://oiwarren.com/"
}
if ("production" === a.environment.name) {
r = "&referralId=" + r;
var s = {
twitter: n + "?utm_medium=social&utm_source=referral&utm_campaign=sharepanel&utm_content=twitter",
facebook: n + "?utm_medium=social&utm_source=referral&utm_campaign=sharepanel&utm_content=facebook",
whatsapp: n + "?utm_medium=social&utm_source=referral&utm_campaign=sharepanel&utm_content=whatsapp",
messenger: n + "?utm_medium=social&utm_source=referral&utm_campaign=sharepanel&utm_content=messenger",
email: n + "?utm_medium=email&utm_source=referral&utm_campaign=sharepanel&utm_content=link",
directLink: n + "?utm_source=referral&utm_campaign=sharepanel&utm_content=link"
}
} else {
r = "?referralId=" + r;
var s = {
twitter: n,
facebook: n,
whatsapp: n,
messenger: n,
email: n,
directLink: n
}
}
r && (s.twitter += r, s.facebook += r, s.whatsapp += r, s.messenger += r, s.email += r, s.directLink += r), e.c_dash = e.$parent.c_dash, e.email = null, o.all([i.getShortenedURL(s.twitter), i.getShortenedURL(s.facebook), i.getShortenedURL(s.whatsapp), i.getShortenedURL(s.messenger), i.getShortenedURL(s.email), i.getShortenedURL(s.directLink)]).then(function(n) {
u(n), e.sharepanelIsLoading = !1
}, function(n) {
e.sharepanelIsLoading = !1, t.error(n.message)
})
}
function u(n) {
var t, i, o, a = "%0D%0A";
t = "https://twitter.com/intent/tweet?", i = encodeURIComponent("Estou usando o Warren (uma nova forma de investir) e estou adorando! Acho que você deveria experimentar: "), o = "oiwarren";
var r = "https://twitter.com/intent/tweet?text=" + i + "&url=" + n[0].id + "&hashtags=" + o;
i = encodeURIComponent("Oi! Estou usando o Warren e adorando!") + a + a + encodeURIComponent("O Warren é uma nova plataforma de investimentos, fácil, inteligente e divertida.") + a + encodeURIComponent("Com ele você descobre seu perfil de investidor, cria objetivos de investimentos,") + a + encodeURIComponent("investe e acompanha o desempenho deles. Tudo no mesmo lugar!") + a + a + encodeURIComponent("Acho que você vai gostar :)") + a + encodeURIComponent("Experimente! ");
var s = "https://www.facebook.com/dialog/feed?app_id=1636715299924634&link=" + n[1].id + "&name=Warren&caption=Invista bem com o Warren!&description=" + i,
c = "whatsapp://send?text=" + i + n[2].id,
d = "https://www.facebook.com/dialog/send?app_id=1636715299924634&link=" + n[3].id + "&redirect_uri=" + n[3].id,
m = encodeURIComponent("Warren: Você investindo bem"),
u = encodeURIComponent("Oi! Estou usando o Warren e adorando!") + a + a + encodeURIComponent("O Warren é uma nova plataforma de investimentos, fácil, inteligente e divertida.") + a + encodeURIComponent("Com ele você descobre seu perfil de investidor, cria objetivos de investimentos, investe e acompanha o desempenho deles. Tudo no mesmo lugar!") + a + a + encodeURIComponent("Acho que você vai gostar:)") + a + encodeURIComponent("Experimente! ") + n[4].id,
p = "mailto:?&subject=" + m + "&body=" + u,
l = n[5].id;
e.shortenedShareLinks = {
twitter: r,
facebook: s,
whatsapp: c,
messenger: d,
email: p,
directLink: l
}
}
function p(n) {
if (n) {
if (n.ranking) var t = n.ranking;
n.invite ? (e.invite = n.invite, e.$parent.c_dash.invitationsLeft = e.invite.invitationsLeft) : (e.invite = {}, e.invite.invitationsLeft = 10, e.$parent.c_dash.invitationsLeft = 10), e.inviteds = t.slice(), e.invitedsRow || (e.invitedsRow = []), e.inviteds || (e.inviteds = []);
for (var i = 0; i < 10 - e.invite.invitationsLeft; i++) e.invitedsRow[i] = {
hasAcceptedInvite: !0,
email: !0
};
for (var i = 10 - e.invite.invitationsLeft; i < e.invite.invitationsLeft; i++) e.invitedsRow[i] = {
hasAcceptedInvite: !1
}
}
}
var l = function() {
e.sharepanelIsLoading = !0, o.all([n.mine()]).then(function(e) {
p(e[0])
})
};
l(), e.sendInvite = function(o) {
n.invite(o).then(function(n) {
i.track(e.c_dash.user, "Invite Sent", {}), t.success("Convite enviado", {
raw: !0
}), p(n)
}, function(e) {
t.error(e.message)
})
}, e.trackShare = function(n) {
i.track(e.c_dash.user, "Share Click", {
media: n,
userCanInvite: e.c_dash.user.isRegisterVerified
})
}, e.resend = function(e) {
n.resend(e).then(function(e) {
t.success("Convite reenviado", {
raw: !0
})
}, function(e) {
t.error(e.message)
})
}, e.$watch("$parent.c_dash.show_notifications", function(n, t) {
e.user || (e.user = r.getCurrent(!0)), n && e.sharepanelIsLoading && m()
}), e.doCopy = function(e) {
s.copy(e), t.success("Link único copiado!", {
raw: !0
})
}, e.getNumber = function(e) {
return new Array(e)
}
}
return {
scope: {
closeFn: "&"
},
templateUrl: "app/components/sharepanel/sharepanel.template.html",
link: c
}
}
angular.module("warren.components.sharepanel", []).directive("wrnSharepanel", e), e.$inject = ["$window", "wrnInvites", "wrnFlash", "wrnAnalytics", "$q", "config", "wrnUser", "wrnClipboard"]
}();
! function() {
"use strict";
function e(e, n, t) {
function i(e, n, t) {
e.page = t.page
}
return {
scope: {
active: "="
},
templateUrl: "app/components/stylemenu/stylemenu.template.html",
link: i
}
}
angular.module("warren.components.stylemenu", []).directive("wrnStylemenu", e), e.$inject = ["$window", "$timeout", "config"]
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/components/suitability/suitability.template.html",
link: t,
controller: i,
controllerAs: "c_suitability"
}
}
function t(e, t, i) {
e.anchor = t[0], e.terminal = angular.element(t[0].querySelector("#terminal")), e.operations = angular.element(t[0].querySelector("#operations")), e.c_suitability.onScroll()
}
function i(e, t, i, n, a, r, s, o, l, u, c, p, m, f, y) {
function g() {
try {
o.pixelFB("Suitability Started"), o.track(null, "Suitability Started", {})
} catch (e) {}
O = y.isEmpty("accounts.accessToken"), I = t.performance.now()
}
function w() {}
function b() {
W = !0, d()
}
function h() {
var e = {
answers: B,
referralId: f.referralId,
context: f.context
};
s.post("/api/v2/suitability/finish", e).then(function(e) {
var i = e.data;
A = i.user.investmentProfile.computedProfileType, C.hasFinished = !0, c.set("tutorial", !0), i.accessToken && p.externalLogin(i.accessToken, i.user), j = t.performance.now();
try {
o.pixelFB("Lead"), o.track(i.user, "Suitability Finished", {}, O), m.affiliate() && o.event("invitee", "leftEmail", "suitability", "1")
} catch (e) {}
}, function(e) {
u.error("Error while finishing the suitability.", e, {
messageId: F,
answers: JSON.stringify(B)
}), console.error(e)
})
}
function d() {
var e = {
id: F,
answers: B,
context: f.context
},
i = F;
if ("question_email" !== F && "email_already_taken" !== F || (B.email_already_taken && (B.question_email = B.email_already_taken), h()), F) {
var a = t.performance.now() - j;
try {
o.event("suitability", "answer", F), o.timing("suitability", F, a)
} catch (e) {}
}
C.isWaitingServer = !0, l.toPosition(1e6, 0), s.post("/api/v2/suitability/message", e).then(function(e) {
C.isWaitingServer = !1, P = e.data, v(e.data), "final" !== e.data.id || f.home || "question_email" == i || "email_already_taken" == i || n(function() {
h()
}, 5e3)
}, function(e) {
C.isWaitingServer = !1, u.error("Error while getting a suitability message.", e, {
messageId: F,
answers: JSON.stringify(B)
}), console.error(e)
})
}
function v(e) {
var t;
for (e.answers && (e.answers.question_name && (B.question_name = e.answers.question_name), e.answers.question_email && (B.question_email = e.answers.question_email), e.answers.question_age && (B.question_age = e.answers.question_age)), F = e.id, t = 0; t < e.messages.length; t++) {
var i = e.messages[t];
i = i.split("<erase>"), i = "['" + i.join("', '") + "']", H.push({
type: "message",
value: i
})
}
e.inputs.length && H.push({
type: "input",
value: e.inputs[0]
}), e.buttons.length && H.push({
type: "buttons",
value: e.buttons
}), _()
}
function _() {
if (H.length) {
var a, r, s = H.shift();
"message" === s.type ? (a = '<wrn-suitability-message text="%1"></wrn-suitability-message>', r = a.replace("%1", s.value), r = i(r)(e), e.terminal.append(r)) : "input" === s.type ? (a = '<wrn-suitability-input id="%1" type="%2"></wrn-suitability-input>', r = a.replace("%1", F), r = r.replace("%2", s.value), r = i(r)(e), e.operations.append(r)) : "buttons" === s.type && (a = '<wrn-suitability-buttons id="%1" buttons="{{temp_buttons}}"></wrn-suitability-buttons>', r = a.replace("%1", F), e.temp_buttons = s.value, r = i(r)(e), e.operations.append(r)), n(function() {
if (C.onAfterWrite(), "message" !== s.type) {
j = t.performance.now();
try {
o.event("suitability", "view", F)
} catch (e) {}
}
}, 50)
}
}
function S(t, n, r) {
"question_email" == t && (n = n.replace(/\s/g, "")), B[t] = n, e.operations.html("");
var s = r || n;
if (P.responses.length) {
s = P.responses[0];
var o = s.match(/{{([^}]+)}}/g);
if (o)
for (var l = 0; l < o.length; l++) {
var u = o[l],
c = u.substring(2, u.length - 2),
p = "return " + c + ";",
m = new Function("answers", p);
s = s.replace(new RegExp(u, "g"), m(B))
}
} else P.inputs.length && "currency" === P.inputs[0] && (s = a("money")(n, "R$ "));
var f = '<wrn-suitability-message owner="user" initial="%1" text="%2"></wrn-suitability-message>',
y = f.replace("%1", B.question_name[0]);
y = y.replace("%2", "'" + s + "'"), y = i(y)(e), e.terminal.append(y), d()
}
function q() {
try {
var e = t.performance.now() - j;
o.event("suitability", "answer", "go_profile"), o.timing("suitability", "go_profile", e);
var i = t.performance.now() - I;
o.event("suitability", "link", "profile"), o.timing("suitability", "link", i, "profile")
} catch (e) {}
var n = B.question_name,
a = B.question_email;
m.config(n, a), r.go("profile", {
profile: A
})
}
function k() {
_()
}
function $() {
E = window.innerHeight + window.scrollY >= document.body.offsetHeight - 50
}
function x() {
E && l.toPosition(1e6, 0)
}
function T() {
if (!W) {
var i = t.innerHeight,
n = document.body.scrollTop || document.documentElement.scrollTop,
a = warren.utils.getGlobalOffset(e.anchor).top,
r = a > n && a < n + i;
if (r) try {
b()
} catch (t) {
e.$apply(b)
}
}
}
e.$on("$destroy", w);
var W = !1,
E = !1,
F = null,
P = null,
A = null,
B = {},
I = null,
j = null,
H = [],
O = null,
C = this;
C.hasFinished = !1, C.isWaitingServer = !1, C.onBeforeWrite = $, C.onAfterWrite = x, C.onAfterMessage = k, C.onScroll = T, C.answer = S, C.goToProfile = q, g()
}
i.$inject = ["$scope", "$window", "$compile", "$timeout", "$filter", "$state", "wrnBackend", "wrnAnalytics", "wrnSmoothScroll", "wrnCrash", "wrnContext", "wrnUser", "waitlist", "$stateParams", "wrnSession"], angular.module("warren.components.suitability", []).directive("wrnSuitability", e), e.$inject = []
}();
! function() {
"use strict";
function e(e, t, n, a, o, i, r, c, s) {
function u(e, u, d, l) {
e.data = {
tab: "menu",
numberNotifications: o.unreadAmount()
}, e.action = {
toMenu: function() {
e.data.tab = "menu", e.data.numberNotifications = o.unreadAmount()
},
toNotifications: function() {
e.data.tab = "notifications"
},
toFaq: function() {
e.data.tab = "faq"
},
toUseraccount: function() {
e.data.tab = "useraccount"
},
toContact: function() {
e.data.tab = "contact"
}
}, e.deleteAccount = function() {
var o = e.$parent.c_dash.totalBalance;
o > 0 ? i.alert("Deletar Conta", "Você não pode deletar sua conta antes de resgatar todo dinheiro investido!") : i.confirm("Deletar Conta", "Tem certeza que deseja deletar sua conta? Seus dados, objetivos e históricos serão deletados. Essa ação não pode ser revertida.", {
textCancel: "Não",
textOk: "Sim"
}).then(function(e) {
"ok" === e && r.deleteAccount().then(function(e) {
c.success("Conta deletada com sucesso!", {
raw: !0
}), n(function() {
a.clean(), t.go("home")
}, 500)
}, function(e) {
c.error(e.message)
})
})
}, e.$watch("isOpen", function(t, n) {
t === !0 ? e.data.numberNotifications = o.unreadAmount() : t === !1 && e.action.toMenu()
}), e.computedProfileType = function() {
if (!e.$parent.c_dash.user || !e.$parent.c_dash.user.investmentProfile) return "";
var t = e.$parent.c_dash.user.investmentProfile.computedProfileType;
return t
}, e.openChat = function() {
s.openChat(), e.closeFn()
}
}
return {
scope: {
name: "=",
initial: "=",
email: "=",
registerFinished: "=",
isOpen: "=",
closeFn: "&"
},
templateUrl: "app/components/usermenu/usermenu.template.html",
link: u
}
}
e.$inject = ["$window", "$state", "$timeout", "wrnSession", "wrnNotifications", "wrnDialog", "wrnUser", "wrnFlash", "zendesk"], angular.module("warren.components.usermenu", []).directive("wrnUserMenu", e)
}();
! function() {
"use strict";
function e(e, t, n, o) {
function c(c, r, a) {
function i() {
t.addEventListener ? (t.addEventListener("mousewheel", s, !1), t.addEventListener("DOMMouseScroll", s, !1), r[0].addEventListener("click", s, !1), t.addEventListener("touchstart", s, !1)) : (t.attachEvent("onmousewheel", s), r[0].attachEvent("onclick", s), t.attachEvent("ontouchstart", s)), e.setScrollBody(!0), n(d, o.app.wizard.timeout)
}
function l() {
t.removeEventListener ? (t.removeEventListener("mousewheel", s), t.removeEventListener("DOMMouseScroll", s), r[0].removeEventListener("click", s), t.removeEventListener("touchstart", s)) : (t.dettachEvent("onmousewheel", s), r[0].dettachEvent("onclick", s), t.dettachEvent("ontouchstart", s)), e.setScrollBody(!1)
}
function s(e) {
e = t.event || e, c.$apply(function() {
d()
}), e.preventDefault()
}
function d() {
l(), c.active = !1, c.callbackFn && c.callbackFn()
}
c.$on("$destroy", l), c.color = a.color, c.hide = a.hide, c.active = !0, i()
}
return {
scope: {
callbackFn: "&"
},
transclude: !0,
templateUrl: "app/components/wizard/wizard.template.html",
link: c
}
}
angular.module("warren.components.wizard", []).directive("wrnWizard", e), e.$inject = ["$rootScope", "$window", "$timeout", "config"]
}();
! function() {
"use strict";
function n(n, e, t, a, c) {
function u(e, t, a, c, u) {
function r() {
if (o = e.user, o.$pendingBankAccounts = [], o.$pendingAddBankAccounts = [], o.$pendingRemoveBankAccounts = [], e.fnLoad && e.fnLoad()(e.form), o.bankAccounts && o.bankAccounts.length)
for (var t = 0; t < o.bankAccounts.length; t++) {
var a = warren.utils.deepcopy(o.bankAccounts[t]);
if (a.bank) {
var c = warren.enums.Bank[a.bank];
["041", "074", "033", "237", "104", "341", "001"].indexOf(a.bank) == -1 && e.setBank(a, "other"), a.$dirtyBank = warren.utils.toCapitalCase(c)
}
o.$pendingBankAccounts.push(a)
} else e.addAccount();
e.whitelistBanks = Object.keys(warren.enums.Bank);
var u = warren.utils.getEnumValues(warren.enums.Bank),
r = warren.utils.search.fuzzyFilter;
e.optionsBank = {
show_on_focus: !0,
suggest: function(e) {
return r(e, u, function(e) {
return {
label: n.trustAsHtml(e),
value: e
}
})
}
}
}
var o;
e.addAccount = function() {
var n = {
_id: null,
bank: null,
type: "current",
agency: null,
number: null,
digit: null,
hasSecondHolder: !1,
firstHolderCPF: null,
firstHolderName: null
};
o.$pendingBankAccounts.push(n), o.$pendingAddBankAccounts.push(n)
}, e.removeAccount = function(n, e) {
var t = o.$pendingBankAccounts[e];
if (o.$pendingBankAccounts.splice(e, 1), t._id) o.$pendingRemoveBankAccounts.push(t);
else {
var a = o.$pendingAddBankAccounts.indexOf(t);
o.$pendingAddBankAccounts.splice(a, 1)
}
}, e.canRemoveAccount = function() {
return o.$pendingBankAccounts.length > 1 && !e.isAddingAccount
}, e.isBank = function(n, e) {
if ("other" === e) {
var t = ["041", "074", "033", "237", "104", "341", "001", "other"];
return !(t.indexOf(e) !== -1 && !n.$other)
}
return n.bank === e && !n.$other
}, e.isInitialBankState = function(n) {
var e = null === n.bank,
t = "undefined" == typeof n.bank;
return (e || t) && !n.$other
}, e.setBank = function(n, e) {
"other" === e ? n.$other = !0 : (n.$other = !1, n.$dirtyBank = warren.enums.Bank[e], n.bank = e), n.$peste = e
}, e.setBankInput = function(n) {
var e = (n.$dirtyBank || "").toLowerCase(),
t = null;
Object.keys(warren.enums.Bank).forEach(function(n) {
var a = warren.enums.Bank[n];
e === a.toLowerCase() && (t = n)
}), n.bank = t
}, r()
}
return {
scope: {
user: "=",
fnSubmit: "&",
fnLoad: "&"
},
templateUrl: "app/components/account/bankaccounts/bankaccounts.template.html",
link: u
}
}
angular.module("warren.components.account.bankaccounts", []).directive("wrnAccountBankaccounts", n), n.$inject = ["$sce", "$timeout", "wrnUser", "wrnSmoothScroll", "wrnFlash"]
}();
! function() {
"use strict";
function e(e, t, o) {
function s(e, o, s) {
function d() {
e.fnLoad && e.fnLoad()(e.form), r.personalProfile.mobile && ("+" == r.personalProfile.mobile.charAt(0) ? e.webFormattedMobile = r.personalProfile.mobile.substring(3) : e.webFormattedMobile = r.personalProfile.mobile), e.address = r.address
}
var r = e.user;
e.$watch("webFormattedMobile", function() {
e.webFormattedMobile && (r.personalProfile.mobile = "+55" + e.webFormattedMobile.replace("(", "").replace(")", "").replace(" ", "").replace("-", ""))
}), e.guessAddress = function(t) {
t && (e.address.street = t.address, t.number && (e.address.number = t.number), t.city && (e.address.city = t.city), t.stateCode && 2 === t.stateCode.length && (e.address.state = t.stateCode), t.zipcode && 8 === t.zipcode.length && (e.address.zipcode = t.zipcode), t.neighborhood && (e.address.neighborhood = t.neighborhood))
}, e.findZipcode = function() {
e.address.zipcode || t.getGeocodeByAddress(e.address.street + ", " + e.address.number + "- " + e.address.city + ". " + e.address.state).then(function(t) {
t.zipcode && 8 === t.zipcode.length && (e.address.zipcode = t.zipcode)
})
}, e.findState = function() {
t.getGeocodeByAddress(e.address.city).then(function(t) {
t.stateCode && 2 === t.stateCode.length && (e.address.state = t.stateCode)
})
}, d()
}
return {
scope: {
user: "=",
fnSubmit: "&",
fnLoad: "&"
},
templateUrl: "app/components/account/contacts/contacts.template.html",
link: s
}
}
angular.module("warren.components.account.contacts", []).directive("wrnAccountContacts", e), e.$inject = ["wrnUser", "wrnMaps", "wrnFlash"]
}();
! function() {
"use strict";
function e(e, n, r, t, o, a, d) {
function s(e, s, l) {
function u() {
function n(e) {
e.addEventListener("drop", function(n) {
c(n, e)
}), e.addEventListener("dragover", function(n) {
m(n, e)
}), e.addEventListener("dragleave", function(n) {
f(n, e)
})
}
e.fnLoad && e.fnLoad()(e.form), e.user.document && (_ = e.user.document.issuedBy, h = e.user.document.type), e.document = b.document, e.address = b.address, e.profile = b.personalProfile, e.disableTerms || w(), n(y), n(k), n(B), window.addEventListener("drop", p, !1), window.addEventListener("dragover", g, !1), window.addEventListener("dragleave", v, !1), e.setDefaultIssuedBy()
}
function i() {
window.removeEventListener("drop", p), window.removeEventListener("dragover", g), window.removeEventListener("dragleave", v)
}
function c(n) {
switch (n.target.offsetParent.id) {
case "photo_document_front_field":
var r = "document_front";
break;
case "photo_document_back_field":
var r = "document_back";
if (!b.document.imageFront) return;
break;
case "photo_address_field":
var r = "address_front"
}
e.upload(r, n.dataTransfer.files[0]), n.preventDefault()
}
function m(e, n) {
warren.utils.isDraggingFile(e) && warren.utils.addClass(n, "drag")
}
function f(e, n) {
warren.utils.removeClass(n, "drag")
}
function p(e) {
e.preventDefault(), warren.utils.isDraggingFile(e) && (warren.utils.removeClass(y, "fixed"), warren.utils.removeClass(k, "fixed"), warren.utils.removeClass(B, "fixed"), warren.utils.removeClass(y, "drag"), warren.utils.removeClass(k, "drag"), warren.utils.removeClass(B, "drag"), warren.utils.removeClass(window.document.body, "page-overlay"))
}
function g(e) {
e.preventDefault(), warren.utils.isDraggingFile(e) && (E = !0, warren.utils.addClass(y, "fixed"), warren.utils.addClass(k, "fixed"), warren.utils.addClass(B, "fixed"), warren.utils.addClass(window.document.body, "page-overlay"))
}
function v(e) {
e.preventDefault(), warren.utils.isDraggingFile(e) && (E = !1, n(function() {
E || (warren.utils.removeClass(y, "fixed"), warren.utils.removeClass(k, "fixed"), warren.utils.removeClass(B, "fixed"), warren.utils.removeClass(window.document.body, "page-overlay"))
}, 100))
}
function w() {
return d(function(n, t) {
r.getTerms([""]).then(function(r) {
if (e.terms = [], r) {
for (var t = 0; t < r.allTerms.length; t++) "termsOfUse" === r.allTerms[t].name && e.terms.push(r.allTerms[t]);
for (var t = 0; t < e.terms.length; t++) e.terms[t].checked && (e.terms[t].disabled = !0, e.updateTerm(e.terms[t]))
}
n(r)
}, function(e) {
o.error(e.message), t()
})
})
}
var b = e.user,
_ = null,
h = null;
e.disableRemoveImage = "undefined" != typeof l.disableRemoveImage, e.disableTerms = "true" == l.disableTerms, e.disableExposed = "undefined" != typeof l.disableExposed, e.documentUpload = null, e.addressUpload = null, e.documentWebcam = !1, e.addressWebcam = !1, e.acceptedTerms = [], e.$on("$destroy", i);
var y = document.getElementById("photo_document_front_field"),
k = document.getElementById("photo_document_back_field"),
B = document.getElementById("photo_address_field"),
E = !1;
e.startWebcam = function(n) {
b.document.imageFront && (a.config({
width: 960,
height: 540,
image_format: "jpeg",
jpeg_quality: 90
}), e.closeWebcam(), "photo_document_front" === n ? e.documentFrontWebcam = !0 : "photo_document_back" === n ? e.documentBackWebcam = !0 : e.addressFrontWebcam = !0, a.attach(n), t.to(n + "_field", null, null, -60))
}, e.closeWebcam = function() {
e.documentFrontWebcam = !1, e.documentBackWebcam = !1, e.addressFrontWebcam = !1, a.shutdown()
}, e.snapWebcam = function(n) {
a.snap().then(function(r) {
e.closeWebcam();
var t = warren.utils.dataUriToBlob(r);
e.upload(n, t)
}, function(e) {
o.error("Não foi possível usar a imagem da webcam =(", {
raw: !0
})
})
}, e.isWebcamEnabled = function() {
return !warren.utils.isSafari()
}, e.upload = function(n, t, a) {
function d(r) {
var t = parseInt(100 * r.loaded / r.total);
"document_front" === n ? e.documentFrontUpload = t : "document_back" === n ? e.documentBackUpload = t : e.addressUpload = t
}
function s() {
"document_front" === n ? e.documentFrontUpload = null : "document_back" === n ? e.documentBackUpload = null : e.addressUpload = null
}
a && a.length && ("maxSize" === a[0].$error ? o.error("error_upload_file_too_big") : o.error("error_upload_invalid_type")), t && (self.isSaving = !0, r.upload(n, t, null, d).then(function(e) {
s(), "document_front" === n ? (b.document.imageFront || (b.document.imageFront = null), b.document.imageFront = e) : "document_back" === n ? (b.document.imageBack || (b.document.imageBack = null), b.document.imageBack = e) : (b.address.imageFront || (b.address.imageFront = null), b.address.imageFront = e), self.isSaving = !1
}, function(e) {
s(), console.error(e);
var n = null;
if (e.errors) {
n = "<ul>";
for (var r = 0; r < e.errors.length; r++) n += "<li>" + e.errors[r].msg + "</li>";
n += "</ul>"
}
o.error(e.message, n), self.isSaving = !1
}))
}, e.remove = function(n) {
"documents" === n ? e.documentUpload = 100 : e.addressUpload = 100, r.removeDocument(n).then(function(r) {
"documents" === n ? (e.documentUpload = null, e.document.image = null) : (e.addressUpload = null, e.address.image = null)
}, function(r) {
console.error(r);
var t = null;
if (r.errors) {
t = "<ul>";
for (var a = 0; a < r.errors.length; a++) t += "<li>" + r.errors[a].msg + "</li>";
t += "</ul>"
}
o.error(r.message, t), "documents" === n ? e.documentUpload = null : e.addressUpload = null
})
}, e.setDefaultIssuedBy = function(n) {
n || h || _ || (e.document.type = "cnh", e.document.issuedBy = "detran"), h != n ? "rg" == n ? e.document.issuedBy = "ssp" : "cnh" == n && (e.document.issuedBy = "detran") : h == n && (e.document.issuedBy = _, e.document.type = h)
}, e.exposeRefresh = function() {
e.profile.isExposed || (e.profile.isExposedAsPublicServant = !1, e.profile.isExposedAsGovernmentServant = !1, e.profile.isExposedByRelationship = !1)
}, e.updateTerm = function(n) {
var r = e.acceptedTerms.indexOf(n.name);
r === -1 ? e.acceptedTerms.push(n.name) : r >= 0 && e.acceptedTerms.splice(r, 1), e.user.acceptedTerms = e.acceptedTerms.length === e.terms.length, e.user.termsToAccept = e.acceptedTerms
}, e.updateAllTerms = function(n) {
for (var r = 0; r < e.terms.length; r++) {
var t = document.getElementById(e.terms[r].id);
(n && !t.checked || !n && t.checked) && t.click()
}
}, u()
}
return {
scope: {
user: "=",
fnSubmit: "&",
fnLoad: "&"
},
templateUrl: "app/components/account/documents/documents.template.html",
link: s
}
}
angular.module("warren.components.account.documents", []).directive("wrnAccountDocuments", e), e.$inject = ["$document", "$timeout", "wrnUser", "wrnSmoothScroll", "wrnFlash", "wrnWebcam", "$q"]
}();
! function() {
"use strict";
function n(n, e) {
function c(n, e, c) {
function t() {
n.fnLoad && n.fnLoad()(n.form)
}
n.user;
t()
}
return {
scope: {
user: "=",
fnSubmit: "&",
fnLoad: "&"
},
templateUrl: "app/components/account/finances/finances.template.html",
link: c
}
}
angular.module("warren.components.account.finances", []).directive("wrnAccountFinances", n), n.$inject = ["$window", "wrnSession"]
}();
! function() {
"use strict";
function e(e, t, a, o, r, s, i) {
function n(e, t, o) {
function r() {
e.fnLoad && e.fnLoad()(e.form), c.nationality || (c.nationality = "brasileiro-nato"), c.maritalStatus || (c.maritalStatus = "solteiro", f = c.maritalStatus), e.guessSex(), e.guessMarital(), e.guessState(), e.guessCity()
}
var n, l, u, f, m = e.user,
c = m.personalProfile,
d = m.address;
e.hasProfession = e.user.personalProfile.profession !== i.getString("common_field_profession_unemployed"), e.isMarried = function() {
return "casado-brasileiro-nato" === c.maritalStatus || "casado-brasileiro-naturalizado" === c.maritalStatus || "casado-estrangeiro" === c.maritalStatus || "uniao-estavel" === c.maritalStatus
}, e.guessSex = function() {
if ((m.name || m.personalProfile.name) && c.sex === n) {
var e = m.personalProfile.name || m.name;
e = e.trim().replace(/\s+/, " ");
var t = e.split(" ")[0];
if (!t) return;
var a = t.slice(-1);
"o" === a ? (c.sex = "male", n = "male") : (c.sex = "female", n = "female")
} else n = void 0
}, e.guessMarital = function() {
if (c.birthDate && c.maritalStatus === f) {
var e = s(c.birthDate),
t = s().diff(e, "years");
t < 28 ? c.maritalStatus = "solteiro" : c.maritalStatus = "casado-brasileiro-nato", f = c.maritalStatus
} else f = void 0
}, e.guessCity = function() {
l = c.birthCity && d.city === l ? c.birthCity : void 0
}, e.guessState = function() {
u = c.birthState && d.state === u ? c.birthState : void 0
}, e.findBirthState = function() {
a.getGeocodeByAddress(c.birthCity).then(function(e) {
e.stateCode && (c.birthState = e.stateCode)
})
}, e.unemployed = function(t) {
e.hasProfession = !t, t && (e.user.personalProfile.profession = i.getString("common_field_profession_unemployed"), e.user.personalProfile.workOrganization = "")
}, e.changeProfession = function() {
e.unemployed(e.user.personalProfile.profession === i.getString("common_field_profession_unemployed"))
}, r()
}
return {
scope: {
user: "=",
fnSubmit: "&",
fnLoad: "&"
},
templateUrl: "app/components/account/personal/personal.template.html",
link: n
}
}
angular.module("warren.components.account.personal", []).directive("wrnAccountPersonal", e), e.$inject = ["$sce", "wrnUser", "wrnMaps", "wrnSmoothScroll", "wrnFlash", "moment", "wrnResources"]
}();
! function() {
"use strict";
function t() {
return {
scope: {
id: "@",
buttons: "@"
},
templateUrl: "app/components/suitability/directives/wrn_suitability_buttons.template.html",
link: i
}
}
function i(t, i, n) {
t.items = JSON.parse(t.buttons), t.answer = function(i, n) {
t.$parent.c_suitability.answer(t.id, i, n)
}
}
angular.module("warren.components.suitability.buttons", []).directive("wrnSuitabilityButtons", t), t.$inject = []
}();
! function() {
"use strict";
function t(t, i) {
function n(n, e, o) {
n.data = {
value: null
}, n.scroll = function() {
i.toPosition(1e4), t(function() {
i.toPosition(1e4)
}, 10), t(function() {
i.toPosition(1e4)
}, 50), t(function() {
i.toPosition(1e4)
}, 100)
}, n.answer = function() {
var t = n.data.value;
if (null !== t && ("string" === n.type && (t = t.replace(/["'\\/<>]/g, ""), t = t.charAt(0).toUpperCase() + t.slice(1), t = t.substring(0, 30), "question_email" === n.id && (t = t.toLowerCase())), !("number" === n.type && t < 0))) {
if ("currency" === n.type) {
if (t < 0) return;
("" + t).length > 8 && (t = parseInt(("" + t).substring(0, 8)))
}
n.$parent.c_suitability.answer(n.id, t)
}
}
}
return {
scope: {
id: "@",
type: "@"
},
templateUrl: "app/components/suitability/directives/wrn_suitability_input.template.html",
link: n
}
}
angular.module("warren.components.suitability.input", []).directive("wrnSuitabilityInput", t), t.$inject = ["$timeout", "wrnSmoothScroll"]
}();
! function() {
"use strict";
function i() {
return {
scope: {
owner: "@",
initial: "@",
text: "="
},
templateUrl: "app/components/suitability/directives/wrn_suitability_message.template.html",
link: t
}
}
function t(i, t, e) {
i.c_suitability = i.$parent.c_suitability, i.side = "left", i.owner && "user" === i.owner && (i.side = "right"), i.letter = i.initial || "W"
}
angular.module("warren.components.suitability.message", []).directive("wrnSuitabilityMessage", i), i.$inject = []
}();
! function() {
"use strict";
function e() {
return {
scope: {},
templateUrl: "app/pages/404/404.template.html"
}
}
function t() {
return {
scope: {},
templateUrl: "app/pages/404/404.incognito.template.html"
}
}
angular.module("warren.pages.404", []).directive("warren404", e), angular.module("warren.pages.incognito", []).directive("warrenIncognito", t), e.$inject = [], t.$inject = []
}();
! function() {
"use strict";
function t() {
return {
templateUrl: "app/pages/about/about.template.html",
controller: o,
controllerAs: "c_about"
}
}
function o(t, o, r, e, n, a, l) {
function c() {
try {
e.pageView("about")
} catch (t) {}
}
c()
}
angular.module("warren.pages.about", []).controller("warrenAboutController", o).directive("warrenAbout", t), t.$inject = [], o.$inject = ["$scope", "$timeout", "wrnUser", "wrnAnalytics", "wrnContext", "wrnPortfolio", "wrnSmoothScroll"]
}();
! function() {
"use strict";
function n(n, o, e, t, r, i, u) {
function s() {
try {
e.pageView("builder")
} catch (n) {}
return i.isEmpty("accounts.accessToken") ? o.go("home") : (d.page = "chat", d.isLoading = !0, d.wizards = {
shouldOpen1: !1,
shouldOpen2: !1
}, void n.all([c(), l()]).then(function() {
d.isLoading = !1;
try {
e.track(d.user, "Builder Started", {})
} catch (n) {}
}, function() {
console.log("reject")
}))
}
function c() {
return n(function(n, o) {
t.become().then(function(o) {
d.user = o, d.user.isPortfolioFinished || (d.wizards.shouldOpen1 = !0, d.wizards.shouldOpen2 = !1), n()
}, function(n) {
console.error(n), o()
})
})
}
function l() {
return n(function(n, o) {
r.getSuggestions().then(function(o) {
d.funds = {};
for (var e = 0; e < o.length; e++) d.funds[o[e].apiId] = o[e];
n()
}, function(n) {
console.error(n), o()
})
})
}
function a(n, o) {
d.page = n, "undefined" != typeof o && (d.context = o), u.toPosition(0)
}
var d = this;
d.user = null, d.funds = null, d.page = null, d.context = null, d.wizards = null, d.isLoading = null, d.toPage = a, s()
}
n.$inject = ["$q", "$state", "wrnAnalytics", "wrnUser", "wrnPortfolio", "wrnSession", "wrnSmoothScroll"], warren.angular.controller("warren.pages.builder", n)
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/pages/dash/dash.template.html",
controller: t,
controllerAs: "c_dash"
}
}
function t(e, t, n, o, i, a, s, r, l, c, u, g, f, d, p, m, h, v, w, _) {
function E() {
try {
r.pageView("dash")
} catch (e) {}
var o = (new Date).getTime();
t.all([l.become(), c.getAll(), m.optional(d.getMine()), m.optional(c.getInvites())]).then(function(t) {
var i = 0,
a = t[0],
s = t[1].portfolios,
l = t[2],
c = t[3].invites,
g = null;
for (i = 0; i < s.length; i++) {
var d = s[i];
if (!d.isVirtual) {
var p = w(d.lastUpdatedAt);
g || (g = p), g = w.max(g, p)
}
}
if (g) {
var m = "",
h = w().date(),
_ = h - 1;
g.date() !== h && (m += g.date() === _ ? "ontem " : "no dia " + g.format("DD/MM") + " "), m += "Ã s " + g.format("HH:mm"), G.updateMessage = f.getString("portfolio_update_time_updateat", m)
} else G.updateMessage = f.getString("portfolio_update_time_noupdate");
var E = (a.personalProfile || {}).mobile;
v.setUser(a.name, a.email, E), t[0].configs && t[0].configs.dashboardValue ? G.toggleHide = t[0].configs.dashboardValue : G.toggleHide = "show", P(a, s, l, c);
var A = b(a, s);
D();
var B = 0,
V = 0;
for (i = 0; i < s.length; i++) s[i].isVirtual ? B++ : V++;
a.totalBalance = G.totalBalance, a.totalEarnings = G.totalEarnings;
try {
r.identify(a), r.track(a, "Login", {
virtualPortfoliosCount: B,
realPortfoliosCount: V,
totalBalance: G.totalBalance,
totalEarnings: G.totalEarnings,
depositAcceptedCount: a.depositAcceptedCount,
firstDepositAcceptedAt: a.firstDepositAcceptedAt,
lastDepositAcceptedAt: a.lastDepositAcceptedAt
})
} catch (e) {}
if (!A) {
if (u.isEmpty("session.welcome")) {
G.isAnimationDisabled = !1;
var y = (new Date).getTime() - o,
C = warren.utils.clamp(2e3 - y, 0, 2e3);
n(function() {
N("interval")
}, C), n(function() {
N("welcome")
}, C + 500), n(function() {
N("finished"), u.set("session.welcome", !0, !0)
}, 3e3 + C + 500)
} else N("finished");
a.goWaitList && L(), e.refreshEmoji()
}
}, function(e) {
console.error(e)
})
}
function A() {
G.hideGrossValue = !G.hideGrossValue
}
function B() {
i.cancel(x)
}
function P(e, t, n, o) {
G.user = e, G.posts = n, G.groupInvites = o, G.posts[0] && d.track(G.posts[0].id, {
see: !0
}), t.sort(function(e, t) {
return new Date(t.createdAt).getTime() - new Date(e.createdAt).getTime()
}), G.portfolios = t, G.totalBalance = 0, G.totalEarnings = 0, G.totalEarningsPercentage = 0, G.netBalance = 0;
for (var i = 0; i < G.portfolios.length; i++) {
var a = G.portfolios[i];
a.totalBalance = a.totalBalance || 0, a.netBalance = a.netBalance || 0, a.totalEarnings = a.totalEarnings || 0, a.totalEarningsPercentage = a.totalEarningsPercentage || 0, a.monthEarnings = a.monthEarnings || 0, a.monthEarningsPercentage = a.monthEarningsPercentage || 0, a.isVirtual || (G.totalBalance += a.totalBalance, G.totalEarnings += a.totalEarnings, G.totalEarningsPercentage += a.totalEarningsPercentage, G.netBalance += a.netBalance), a.goalAmount && "free" !== a.goal && (a.goalPercentage = Math.min(1, a.totalBalance / a.goalAmount))
}
G.totalBalance = G.totalBalance || 0, G.totalEarnings = G.totalEarnings || 0, G.totalEarningsPercentage = G.totalEarningsPercentage || 0, "checkEmailForSetupNotification" === e.dash && (G.resendEmail = $)
}
function b(e, t) {
var n = "app/pages/dash/messages/";
return "doFirstSuitability" === e.dash ? (o.go("suitability"), 1) : void(e.goWaitList ? G.summaryTemplate = n + "goWaitList.template.html" : "buildFirstPortfolio" === e.dash ? o.go("builder") : (!e.isPortfolioVisited && G.portfolios && G.portfolios[0] && G.portfolios[0].isShared && o.go("portfolio", {
id: G.portfolios[0]._id
}), G.summaryTemplate = n + e.dash + ".template.html"))
}
function D() {
V(), x = i(function() {
V()
}, 3e4)
}
function V() {
g.getUnreadCount().then(function(e) {
G.numberNotifications = e.unreadLogsCount, G.hasNewNotification = e.unreadLogsCount > 0
})
}
function N(e) {
R = e
}
function y(e) {
return j === e
}
function C(e) {
return "welcome" === e && "finished" === R || R === e
}
function S() {
G.show_notifications = !G.show_notifications, a.setScrollBody(G.show_notifications), G.show_notifications && (G.hasNewNotification = !1)
}
function H() {
G.show_sidepanel = !G.show_sidepanel, a.setScrollBody(G.show_sidepanel), G.numberNotifications = g.unreadAmount()
}
function L() {
G.processingReserve = !0, h.config(G.user.name, G.user.email), h.position().then(function(e) {
G.user.reservation = e.reservation, G.processingReserve = !1, n(function() {
o.go("lineplace")
}, 4e3)
}, function(e) {
G.processingReserve = !1, o.go("lineregister", {
name: G.user.name,
email: G.user.email
})
})
}
function k(e) {
if (e) {
for (var t = 0; t < G.posts.length; t++)
if (G.posts[t].id === e) {
G.posts.splice(t, 1);
break
}
G.posts[0] && d.track(G.posts[0].id, {
see: !0
}), d.track(e, {
discard: !0
}).then(function(e) {
n(function() {
G.posts.length || (G.allPostsRead = f.getString("dash_posts_read"))
}, 100)
})
}
}
function T() {
e.canCreateNewGoal() && o.go("builder")
}
function I() {
"hide" == G.toggleHide ? G.toggleHide = "show" : G.toggleHide = "hide", l.updateConfigs({
dashboardValue: G.toggleHide
}).then(function(e) {})
}
function M() {
return "hide" == G.toggleHide ? "ic_preview_hidden_24px_white.svg" : "ic_preview_24px_white.svg"
}
function $() {
G.resendingEmail = !0, l.resendVerifyEmail(G.user.email).then(function(e) {
G.resendingEmail = !1, p.success("dash_context_checkemailforsetupnotification_sent")
}, function(e) {
G.resendingEmail = !1, p.error(error.message)
})
}
e.$on("$destroy", B);
var R = "loading",
j = "none",
x = null,
G = this;
G.user = null, G.DELAY_NAVBAR = 1e3, G.DELAY_GOALLIST = 1500, G.DELAY_HEROTITLE = 0, G.DELAY_HEROMESSAGE = 0, G.DELAY_HEROBUTTON = 300, G.summaryTemplate = null, G.portfolios = null, G.totalBalance = null, G.netBalance = null, G.hideGrossValue = null, G.monthEarnings = null, G.monthEarningsPercentage = null, G.isStep = y, G.isLoading = C, G.toggleMenuPanel = H, G.toggleNotificationsPanel = S, G.hasNewNotification = !1, G.numberNotifications = 0, G.newGoal = T, G.isAnimationDisabled = !0, G.discardPost = k, G.swapNetGrossValue = A, G.getPreview = M, G.changeHideValue = I, G.show_notifications = !1, G.updateMessage = null, E(), e.canCreateNewGoal = function() {
for (var e = 0, t = 0, n = 0; n < G.portfolios.length; n++) G.portfolios[n].isVirtual || 0 === G.portfolios[n].totalBalance ? t++ : e++;
return !(e >= f.getValue("portfolios_limit_with_money")) && !(t >= f.getValue("portfolios_limit_without_money"))
}, e.refreshEmoji = function() {
var t = f.getStringArray("dash_context_hidden_balance_emojis"),
n = Math.floor(Math.random() * t.length);
e.emoji = s.trustAsHtml(t[n]), e.emojiPortfolio = s.trustAsHtml(t[n].substring(0, 2))
}, e.seeInvite = function(e) {
e && e.group && _.inviteDetails("Convite", "", {
textCancel: "Cancelar",
textOk: "Aceitar",
group: e.group
}).then(function(t) {
"ok" === t && c.acceptInvite(e._id).then(function(e) {
o.go("portfolio", {
id: e.portfolio._id
})
}, function(e) {
p.error(e.message)
})
})
}, e.cancelInvite = function(e) {
e && _.confirm("Recusar convite", "Você tem certeza que deseja recusar o convite para o objetivo “<b>" + e.group.name + "</b>”?", {
textOk: "Sim",
textCancel: "Não"
}).then(function(t) {
if ("ok" === t) {
for (var n = e._id, o = 0; o < G.groupInvites.length; o++)
if (G.groupInvites[o]._id === n) {
G.groupInvites.splice(o, 1);
break
}
c.cancelInvite(e._id).then(function(e) {
p.success("Convite recusado!", {
raw: !0
})
}, function(e) {
p.error(e.message)
})
}
})
}
}
t.$inject = ["$scope", "$q", "$timeout", "$state", "$interval", "$rootScope", "$sce", "wrnAnalytics", "wrnUser", "wrnPortfolio", "wrnSession", "wrnNotifications", "wrnResources", "wrnPost", "wrnFlash", "pr", "waitlist", "zendesk", "moment", "wrnDialog"], angular.module("warren.pages.dash", []).controller("warrenDashController", t).directive("warrenDash", e), e.$inject = []
}();
! function() {
"use strict";
function o() {
return {
templateUrl: "app/pages/deposit/deposit.template.html",
controller: n,
controllerAs: "c_deposit"
}
}
function n(o, n, t, e, i, r, a, l, s) {
function p() {
try {
i.pageView("deposit")
} catch (o) {}
return t.id ? void r.getDepositById(t.id).then(function(o) {
d.deposit = o, d.deposit.paymentBankImg = warren.enums.BankImages[d.deposit.paymentBankCode], a.getById(o.toPortfolio).then(function(o) {
d.loading = !1, d.portfolio = o
}, function(o) {
console.error(o)
})
}, function(o) {
console.error(o)
}) : void n.go("404")
}
function c() {
d.inputVisible = !0
}
var d = this;
d.loading = !0, d.sendingEmail = null, d.deposit = null, d.portfolio = null, d.inputVisible = !1, d.showInput = c, p(), o.doCopy = function(o, n) {
"CNPJ copiado" == n && (o = o.replace(/[-\/.]/g, "")), l.copy(o), s.info(n, {
raw: !0
})
}
}
angular.module("warren.pages.deposit", []).controller("warrenDepositController", n).directive("warrenDeposit", o), o.$inject = [], n.$inject = ["$scope", "$state", "$stateParams", "$document", "wrnAnalytics", "wrnTransaction", "wrnPortfolio", "wrnClipboard", "wrnFlash"]
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/pages/deposits/deposits.template.html",
controller: o,
controllerAs: "c_deposits"
}
}
function o(e, o, t, n, i, r, s, a, l, u, c, p, f) {
function d() {
try {
r.pageView("deposits")
} catch (e) {}
return P.id = t.id, P.id ? void e.all([v(), m()]).then(function() {
$(P.portfolio.fund), P.data.value = M(), P.user.isRegisterVerified || o.go("register")
}) : void o.go("404")
}
function v() {
return e(function(e, o) {
s.getCurrent().then(function(o) {
P.user = o, e()
}, function(e) {
console.error(e), o()
})
})
}
function m() {
return e(function(e, o) {
a.getById(P.id).then(function(o) {
P.portfolio = o, e()
}, function(e) {
console.error(e), o()
})
})
}
function g() {
P.user.canCreateInvoice ? P.showInvoiceInfo = !0 : P.invoiceNotAvailableMessage = "Ops! Por enquanto esta opção não está disponível."
}
function h() {
A(P.data.value) && (P.data.value && (P.step = "type"), P.inputVisible = !1, l.toPosition(0))
}
function y(e) {
if (l.toPosition(0), e && (P.type = e), P.portfolio.monthlyInvestment && P.portfolio.isVirtual && !P.portfolio.isInvoiceCreated && !P.portfolio.isDepositCreated && "schedule" != P.step) return void(P.step = "schedule");
var t = {
amount: P.data.value,
toPortfolio: P.id
};
"invoice" === P.type ? (P.savingInvoice = !0, u.createInvoice(t).then(function(e) {
try {
r.pixelFB("Deposit Created"), r.track(P.user, "Deposit Created", {
type: "Invoice",
amount: e.amount
})
} catch (e) {}
P.invoice = e, o.go("invoice", {
id: e._id
})
}, function(e) {
console.error(e), P.savingInvoice = !1, c.error(e.message)
})) : (P.savingDoc = !0, u.createDeposit(t).then(function(e) {
try {
r.pixelFB("Deposit Created"), r.track(P.user, "Deposit Created", {
type: "TED/DOC",
amount: e.amount
})
} catch (e) {}
P.deposit = e, o.go("deposit", {
id: e._id
})
}, function(e) {
console.error(e), P.savingDoc = !1, c.error(e.message)
}))
}
function I() {
l.toPosition(1e4)
}
function D() {
return i("money")(P.data.value, "R$ ")
}
function w() {
P.invoiceNotAvailableMessage = null, P.showInvoiceInfo = !1, "type" === P.step ? P.step = "value" : "ted" === P.step || "boleto" === P.step || "schedule" === P.step ? P.step = "type" : o.go(t.backTo || "portfolio", {
id: P.id
})
}
function V() {
P.inputVisible = !0
}
function A() {
var e = !P.portfolio.totalBalance || P.portfolio.isVirtual ? "initial" : "monthly";
return void 0 === P.data.value || C(P.data.value, e) ? (P.suggestedMessage = "", !0) : (P.suggestedMessage = p.getString("deposits_error_" + e + "_min"), !1)
}
function C(e, o) {
return "initial" === o ? e >= p.getValue("deposits_minimum_initial") : "monthly" === o ? e >= p.getValue("deposits_minimum_monthly") : void 0
}
function _(e) {
return i("money")(e, "R$ ", 0)
}
function b() {
return i("money")(P.portfolio.monthlyInvestment, "R$ ")
}
function M() {
return P.portfolio.isVirtual || !P.portfolio.totalBalance ? P.portfolio.initialInvestment : P.portfolio.monthlyInvestment
}
function R(o) {
return P.isAcceptingTerms = !0, e(function(e, t) {
s.acceptTerm(o).then(function(e) {
P.isAcceptingTerms = !1, P.inputVisible = !1, P.step = "value"
}, function(e) {
c.error(e.message)
})
})
}
function T() {
!P.portfolio.investReminderDay || P.portfolio.investReminderDay < 1 || P.portfolio.investReminderDay > 28 || (P.portfolioData = {
name: P.portfolio.name,
goal: P.portfolio.goal,
goalAmount: P.portfolio.goalAmount,
goalYears: P.portfolio.goalDuration,
goalMonthlyIncome: P.portfolio.goalMonthlyIncome,
initialInvestment: P.portfolio.initialInvestment,
monthlyInvestment: P.portfolio.monthlyInvestment,
investReminderDay: P.portfolio.investReminderDay
}, P.saving = !0, a.update(P.portfolio._id, P.portfolioData).then(function() {
y()
}, function(e) {
P.saving = !1, c.error(e.message)
}))
}
function $(o) {
return e(function(e, t) {
s.getTerms([o]).then(function(o) {
o && o.askedNotAcceptedTerms && (P.step = "terms"), P.loading = !1, e(o)
}, function(e) {
c.error(e.message), t()
})
})
}
var P = this;
P.invoiceNotAvailableMessage = null, P.id = null, P.loading = !0, P.user = null, P.portfolio = null, P.step = "value", P.savingDoc = !1, P.savingInvoice = !1, P.deposit = null, P.inputVisible = !1, P.scheduled = !1, P.type = null, P.data = {
value: null
}, P.portfolioData = {}, P.validateChoice = g, P.setValue = h, P.setType = y, P.doScroll = I, P.getValueAsMoney = D, P.back = w, P.showInput = V, P.checkValue = A, P.asMoney = _, P.acceptTerm = R, P.setSchedule = T, P.getMonthlyInvestment = b, d()
}
angular.module("warren.pages.deposits", []).controller("warrenDepositsController", o).directive("warrenDeposits", e), e.$inject = [], o.$inject = ["$q", "$state", "$stateParams", "$scope", "$filter", "wrnAnalytics", "wrnUser", "wrnPortfolio", "wrnSmoothScroll", "wrnTransaction", "wrnFlash", "wrnResources", "config"]
}();
! function() {
"use strict";
function n() {
return {
scope: {},
templateUrl: "app/pages/fundsdata/fundsdata.template.html",
controller: t,
controllerAs: "c_fundsdata"
}
}
function t(n, t, a, r, e, o) {
function u() {
try {
r.pageView("fundsData")
} catch (n) {}
a.all([e.getFundPerformance({
allFunds: !0
})]).then(function(n) {
i.fundsInfo = n[0], i.isLoading = !1
})
}
function c(n) {
d = d === n ? null : n
}
function s(n) {
return d === n
}
function l(n) {
return o(n).format("DD/MM/YYYY")
}
var i = this,
d = null;
i.isLoading = !0, i.fundsInfo = null, i.setAccordion = c, i.isAccordion = s, i.formatDate = l, u()
}
angular.module("warren.pages.fundsdata", []).controller("warrenFundsDataController", t).directive("warrenFundsData", n), n.$inject = [], t.$inject = ["$scope", "$stateParams", "$q", "wrnAnalytics", "wrnTransaction", "moment"]
}();
! function() {
"use strict";
function t() {
return {
scope: {},
templateUrl: "app/pages/history/history.template.html",
controller: o,
controllerAs: "c_history"
}
}
function o(t, o) {
function r() {
try {
t.pageView("history")
} catch (t) {}
o.getAll().then(function(t) {
i.transactions = t
}, function(t) {
console.error(t)
})
}
function n(t) {
var o = "";
return o = "deposit" === t.type ? "Depósito" : "withdraw" === t.type ? "Retirada" : "Entre objetivos", t.isPending && (o += " (pendente)"), o
}
function e(t) {
var o, r;
return "deposit" === t.type ? (o = t.fromAccount.number + "-" + t.fromAccount.digit, r = t.toPortfolio.name) : "withdraw" === t.type ? (o = t.fromPortfolio.name, r = t.toAccount.number + "-" + t.toAccount.digit) : (o = t.fromPortfolio.name, r = t.toPortfolio.name), o + " → " + r
}
var i = this;
i.transactions = null, i.formatType = n, i.formatMovement = e, r()
}
angular.module("warren.pages.history", []).controller("warrenHistoryController", o).directive("warrenHistory", t), t.$inject = [], o.$inject = ["wrnAnalytics", "wrnTransaction"]
}();
! function() {
"use strict";
function e() {
return {
scope: {},
templateUrl: "app/pages/home/home.template.html",
controller: t,
controllerAs: "c_home"
}
}
function t(e, t, r, o, n, l) {
return void r.go("dash")
}
angular.module("warren.pages.home", []).controller("warrenHomeController", t).directive("warrenHome", e), e.$inject = [], t.$inject = ["$window", "$stateParams", "$state", "wrnSmoothScroll", "wrnAnalytics", "waitlist"]
}();
! function() {
"use strict";
function n() {
return {
scope: {},
templateUrl: "app/pages/instantlogin/instantlogin.template.html",
controller: t,
controllerAs: "c_instantlogin"
}
}
function t(n, t, a, o, r, i) {
function e() {
try {
a.track(null, "Signin"), a.pageView("instantlogin")
} catch (n) {}
o.instantLogin(t.hash).then(function() {
s()
}, function(a) {
console.error(a), r.error(a.message), n.go("signin", {
backTo: t.backTo,
params: t.params
})
})
}
function s() {
if (t.backTo && "signin" !== t.backTo && "instantlogin" !== t.backTo) {
var a = JSON.parse(t.params || "{}");
n.go(t.backTo, a)
} else n.go("dash")
}
e()
}
angular.module("warren.pages.instantlogin", []).controller("warrenInstantLoginController", t).directive("warrenInstantLogin", n), n.$inject = [], t.$inject = ["$state", "$stateParams", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnSession"]
}();
! function() {
"use strict";
function n() {
return {
scope: {},
templateUrl: "app/pages/instantloginintranet/instantloginintranet.template.html",
controller: t,
controllerAs: "c_instantloginintranet"
}
}
function t(n, t, a, e, o, r, i) {
function s() {
try {
e.pageView("instantloginintranet")
} catch (n) {}
i.clean(), i.isEmpty("accounts.accessToken") || c(), o.instantLoginIntranet(a.hash).then(function() {
n.onbeforeunload = function() {
i.clean()
}, c()
}, function(n) {
console.error(n), r.error(n.message), t.go("signin", {
backTo: a.backTo,
params: a.params
})
})
}
function c() {
if (a.backTo && "signin" !== a.backTo && "instantlogin" !== a.backTo) {
var n = JSON.parse(a.params || "{}");
t.go(a.backTo, n)
} else t.go("dash")
}
s()
}
angular.module("warren.pages.instantloginintranet", []).controller("warrenInstantLoginIntranetController", t).directive("warrenInstantLoginIntranet", n), n.$inject = [], t.$inject = ["$window", "$state", "$stateParams", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnSession"]
}();
! function() {
"use strict";
function n() {
return {
templateUrl: "app/pages/invoice/invoice.template.html",
controller: o,
controllerAs: "c_invoice"
}
}
function o(n, o, i, e, t, r, c, l, a) {
function u() {
try {
t.pageView("invoice")
} catch (n) {}
return o.id ? void r.getInvoiceById(o.id).then(function(n) {
p.invoice = n, c.getById(n.toPortfolio).then(function(n) {
p.loading = !1, p.portfolio = n
}, function(n) {
console.error(n)
})
}, function(n) {
console.error(n)
}) : void n.go("404")
}
function d() {
return l.isSupported()
}
function s() {
var n = p.invoice.barCodeString || "";
n = n.replace(/\./g, "").replace(/\s/g, ""), l.copy(n), a.info("Números copiados!", {
raw: !0
})
}
function f() {
p.sendingEmail = !0, r.sendInvoiceByEmail(p.invoice._id).then(function() {
p.sendingEmail = !1
})
}
function v() {
return e("money")(p.invoice.amount, "R$ ", 0)
}
var p = this;
p.loading = !0, p.sendingEmail = null, p.invoice = null, p.portfolio = null, p.doCopy = s, p.doEmail = f, p.canShowCopy = d, p.getFormattedAmount = v, u()
}
angular.module("warren.pages.invoice", []).controller("warrenInvoiceController", o).directive("warrenInvoice", n), n.$inject = [], o.$inject = ["$state", "$stateParams", "$document", "$filter", "wrnAnalytics", "wrnTransaction", "wrnPortfolio", "wrnClipboard", "wrnFlash"]
}();
! function() {
"use strict";
function e() {
return {
scope: {},
templateUrl: "app/pages/line/line.template.html",
controller: n,
controllerAs: "c_line"
}
}
function n(e, n, r, i, t, a, l) {
function c() {
try {
n.pageView("line")
} catch (e) {}
}
function o() {
s.processingReserve = !0;
var n = s.data.name,
r = s.data.email;
l.config(n, r), l.position().then(function(n) {
s.processingReserve = !1, e.go("lineplace")
}, function(e) {
s.processingReserve = !1, i.error(e, {
raw: !0
})
})
}
var s = this;
s.processingReserve = !1, s.data = {
name: null,
email: null
}, s.checkPlace = o, c()
}
angular.module("warren.pages.line", []).controller("warrenLineController", n).directive("warrenLine", e), e.$inject = [], n.$inject = ["$state", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnHistory", "wrnSession", "waitlist"]
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/pages/loseometer/loseometer.template.html",
controller: t,
controllerAs: "c_loseometer"
}
}
function t(e, t, r, o, n, l) {
function s() {
try {
t.pageView("loseometer")
} catch (e) {}
}
function a() {
c.inputVisible = !0
}
function i() {
c.data.salary < 1e3 || (c.inputVisible = !1, e.go("loseometer-result", {
salary: c.data.salary
}))
}
var c = this;
c.inputVisible = !1, c.data = {
salary: null
}, c.showResult = i, c.showInput = a, s()
}
angular.module("warren.pages.loseometer", []).controller("warrenLoseometerController", t).directive("warrenLoseometer", e), e.$inject = [], t.$inject = ["$state", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnHistory", "wrnSession"]
}();
! function() {
"use strict";
function o() {
return {
templateUrl: "app/pages/portfolio/portfolio.template.html",
controller: t,
controllerAs: "c_portfolio"
}
}
function t(o, t, e, n, r, i, a, s, c, l, u, f, d, p, g, m, h) {
function v() {
return n.id ? (mo.id = n.id, n.action && ("goal" === n.action ? po = 0 : "allocation" === n.action ? po = 2 : "history" === n.action && (po = 3)), void t.all([D(n.id), P({
portfolio: n.id
}), V(), A(), F(n.id), S()]).then(E).then(function() {
if (!_() && (mo.loading = !1, J(), x(), R(), N(), B(), Y(), O(), mo.hasBackground = !!mo.portfolio.background.full, mo.pendingCount = mo._pendingTransactions.length, mo.invites = [], mo.portfolio.isShared)) try {
mo.portfolio.isAdmin = mo.portfolio.group.admins.indexOf(mo.portfolio._id) >= 0;
for (var o = 0; o < mo.portfolio.group.invites.length; o++) {
var t = mo.portfolio.group.invites[o];
"pending" === t.status && mo.invites.push(t)
}
} catch (o) {}
})) : void e.go("404")
}
function _() {
var o = mo.portfolio.canCreateNewTransaction;
if ("true" === n.invoice) {
for (var t = mo.transactions.pendingInvoices, e = 0; e < t.length; e++)
if (t[e].amount === mo.portfolio.monthlyInvestment) return w("invoice", t[e]._id), !0;
if (o) return b("invoice"), !0;
h.search("invoice", null)
} else if ("true" === n.deposit) {
for (var r = mo.transactions.pendingDeposits, e = 0; e < r.length; e++)
if (r[e].amount === mo.portfolio.monthlyInvestment) return w("deposit", r[e]._id), !0;
if (o) return b("deposit"), !0;
h.search("deposit", null)
}
return !1
}
function w(o, t) {
e.go(o, {
id: t
})
}
function b(o) {
var t = {
amount: mo.portfolio.monthlyInvestment,
toPortfolio: mo.portfolio._id
};
"deposit" === o ? l.createDeposit(t).then(function(t) {
try {
a.pixelFB("Deposit Created"), a.track(mo.user, "Deposit Created", {
type: "TED/DOC",
amount: t.amount
})
} catch (o) {}
w(o, t._id)
}, co) : "invoice" === o && l.createInvoice(t).then(function(t) {
try {
a.pixelFB("Deposit Created"), a.track(mo.user, "Deposit Created", {
type: "Invoice",
amount: t.amount
})
} catch (o) {}
w(o, t._id)
}, co)
}
function T() {
n.action && f.to("id_tabs")
}
function y() {
return ["Conservador", "Conservador-moderado", "Moderado", "Moderado-arrojado", "Arrojado"][mo.portfolio.fund - 1]
}
function k(o, t) {
return "free" === mo.portfolio.goal || (o ? 1 === K(o) || o.isOnTrack : t && mo.portfolio.isShared ? mo.portfolio.group.isOnTrack : mo.portfolio.isOnTrack)
}
function S() {
return t(function(o, t) {
u.mine().then(function(t) {
var e = !1;
try {
for (var n = 0; n < t.ranking.length; n++) t.ranking[n].hasAcceptedInvite && (e = !0)
} catch (o) {}
mo.hasAcceptedInvite = e, o(t)
}, t)
})
}
function D(o) {
return t(function(t, e) {
s.getPerformanceById(o).then(function(o) {
mo.portfolio = o.portfolio, mo.performance = o.performance, mo.portfolio.goalAmount && (mo.portfolio.goalPercentage = Math.min(1, mo.portfolio.totalBalance / mo.portfolio.goalAmount)), t()
}, e)
})
}
function P(o) {
return mo.isLoadingChart = !0, t(function(t, e) {
s.getChart(o).then(function(o) {
mo.chart = o, mo.isLoadingChart = !1, mo.availableLengths || (mo.availableLengths = o.availableLengths), t()
}, e)
})
}
function M() {
mo.hideGrossValue = !mo.hideGrossValue
}
function I() {
return t(function(o, t) {
l.getFundPerformance({
fundId: mo.portfolio.fund
}).then(function(t) {
mo.fundPerformance = t, o()
}, t)
})
}
function V() {
return t(function(o, t) {
s.getFunds().then(function(t) {
mo.funds = t, o()
}, t)
})
}
function E() {
mo.fund = U(mo.portfolio.fund)
}
function A() {
return t(function(o, t) {
c.become().then(function(t) {
mo.user = t, o()
}, t)
})
}
function F(o) {
return t(function(t, e) {
l.getAllByPortoflio(o).then(function(o) {
mo.transactions = o, t()
}, e)
})
}
function C(o) {
return t(function(t, e) {
s.visitPortfolio(mo.portfolio._id).then(function(e) {
mo.user = e.customer, o(null, mo.user.dash), t()
}, e)
})
}
function x() {
var o = mo.performance.productAllocations.slice();
o.sort(function(o, t) {
return t.allocValue - o.allocValue
}), mo._fundAllocationTable = o;
for (var t = 0, e = 0, n = 0, r = 0, i = 0; i < o.length; i++) {
var a = o[i];
"Renda Fixa" === a.product.type ? (t += a.totalEarnings, e += a.totalEarningsPercentage) : (n += a.totalEarnings, r += a.totalEarningsPercentage)
}
mo._allocationTable = o, mo._allocationTable.fixedIncomeEarnings = t, mo._allocationTable.fixedIncomeEarningsPercentage = e, mo._allocationTable.stocksEarnings = n, mo._allocationTable.stocksEarningsPercentage = r
}
function R() {
mo._pendingTransactions = [], mo._completedTransactions = [];
var o, t;
for (o = 0; o < mo.transactions.pendingDeposits.length; o++) t = mo.transactions.pendingDeposits[o], t.type = "deposit", t.typeName = "💰 Depósito", mo._pendingTransactions.push(t);
for (o = 0; o < mo.transactions.pendingInvoices.length; o++) t = mo.transactions.pendingInvoices[o], t.type = "invoice", t.typeName = "💰 Depósito", mo._pendingTransactions.push(t);
for (o = 0; o < mo.transactions.pendingWithdraws.length; o++) t = mo.transactions.pendingWithdraws[o], t.type = "withdraw", t.typeName = "💸 Resgate", mo._pendingTransactions.push(t);
for (mo._pendingTransactions.sort(function(o, t) {
var e = new Date(o.createdAt),
n = new Date(t.createdAt);
return e < n ? 1 : e > n ? -1 : 0
}), mo._completedTransactions = mo.transactions.transactions, o = 0; o < mo._completedTransactions.length; o++) t = mo._completedTransactions[o], "withdraw" === t.type ? t.typeName = "💸 Resgate" : t.typeName = "💰 Depósito"
}
function N() {
var o = "app/pages/portfolio/messages/",
t = "showValues";
t = function() {
switch (mo.user.dash) {
case "checkEmailForSetupNotification":
case "checkEmailForVerifyPasswordNotification":
return "checkEmail";
case "requestVerifyEmail":
return "checkEmail";
case "visitPortfolio":
return "visitPortfolio";
case "startRegister":
return "startRegister";
case "finishRegister":
return "finishRegister";
case "registerWaitingVerification":
return "waitingVerification";
case "registerDeniedVerification":
case "registerDeniedAndWaitingNewVerification":
return "registerDenied";
default:
if (mo.portfolio.isShared) {
if (mo.portfolio.group && mo.portfolio.group.members && 1 == mo.portfolio.group.members.length && 0 == mo.portfolio.group.invites.length) return "invites";
if (mo.portfolio.isVirtual) return "groupVirtual"
}
return mo.performance.totalEarnings || mo._pendingTransactions.length || "standard" === mo.user.dash ? mo._pendingTransactions.length && 0 === mo.portfolio.totalBalance ? "showPayAndWait" : "showValues" : "showDeposit"
}
}(), mo._heroState = o + t + ".template.html"
}
function B() {
!mo.performance.chart || mo.performance.chart.data.portfolio.length ? mo._goalGraphState = "show_placeholder" : mo._goalGraphState = "show_graph"
}
function Y() {
mo._pendingTransactions.length || mo._completedTransactions.length ? mo._historyState = "show_table" : mo._historyState = "show_placeholder"
}
function O() {
var o = null;
if (mo.portfolio.isVirtual || (o = d(mo.portfolio.lastUpdatedAt)), o) {
var t = "";
o.date() !== d().date() && (t += o.date() === d().subtract(1, "days").date() ? "ontem " : "no dia " + o.format("DD/MM") + " "), t += "Ã s " + o.format("HH:mm"), mo.updateMessage = m.getString("portfolio_update_time_updateat", t)
} else mo.updateMessage = m.getString("portfolio_update_time_noupdate")
}
function L(o) {
po = o, f.to("id_tabs", 300)
}
function $(o) {
return po === o
}
function j() {
mo.seeFundPerformance = !mo.seeFundPerformance
}
function G(o, t) {
return 2 == t ? d(o).format("DD/MM/YYYY") : d(o).format("MMM YY")
}
function q() {
return mo.seeFundPerformance
}
function W(o) {
return go === o
}
function z(o) {
go = go === o ? null : o
}
function H(o) {
"undefined" == typeof o && (o = !mo.showEdit), mo.showEdit = o, i.setScrollBody(o)
}
function U(o) {
for (var t = 0; t < mo.funds.length; t++)
if (mo.funds[t].apiId === o) return mo.funds[t]
}
function J() {
var o = new Date(mo.portfolio.createdAt),
t = U(mo.fund.apiId),
e = t.avgMonthlyInterestRate,
n = new Date(o.getFullYear() + mo.portfolio.goalDuration, o.getMonth(), o.getDate()),
r = 12 * (n.getFullYear() - (new Date).getFullYear());
n.getMonth() > o.getMonth() ? r += n.getMonth() - o.getMonth() : n.getMonth() < o.getMonth() && (r -= o.getMonth() - n.getMonth()), mo.portfolio.futureValue = warren.finance.futureValue(mo.portfolio.totalBalance, r, e, mo.portfolio.monthlyInvestment)
}
function K(o) {
if (o && o.isVirtual) return 0;
if (!o && mo.portfolio.isVirtual) return 0;
try {
var t = o.totalBalance / mo.portfolio.group.totalBalance;
return t > 1 ? 1 : t
} catch (o) {
return 0
}
}
function Q() {
var o = m.getValue("portfolios_group_limit");
try {
if (mo.invites.length + mo.portfolio.group.members.length >= o) return void g.error("error_portfolio_group_is_full")
} catch (o) {}
p.groupInvite("Adicionar participante", "", {
textCancel: "Cancelar",
textOk: "Convidar",
goalName: mo.portfolio.name
}).then(function(o) {
"ok" === o.response && (mo.portfolio.isShared ? Z(o.value) : X([o.value]))
})
}
function X(o) {
s.share({
portfolioId: mo.portfolio._id,
invites: o
}).then(function(o) {
e.reload(), g.success("Seu objetivo foi compartilhado!", {
raw: !0
})
}, co)
}
function Z(o) {
s.invite({
portfolioId: mo.portfolio._id,
invite: o
}).then(function(t) {
mo.invites && (mo.invites = mo.invites.concat(t.invites)), g.success("Convite enviado para " + o.email, {
raw: !0
})
}, co)
}
function oo(o) {
Z(o)
}
function to(o) {
p.confirm("Remover participante", "Você tem certeza que deseja remover este participante?", {
textOk: "Remover"
}).then(function(t) {
"ok" === t && s.cancelInvite(o._id).then(function(t) {
for (var e = mo.invites, n = 0; n < e.length; n++)
if (e[n]._id === o._id) {
e.splice(n, 1);
break
}
g.success(o.email + " foi removido!", {
raw: !0
})
}, function(o) {
g.error(o.message)
})
})
}
function eo(o) {
p.confirm("Remover participante", "Você tem certeza que deseja remover este participante?", {
textOk: "Remover"
}).then(function(t) {
"ok" === t && s.removeMember(mo.portfolio.group._id, o._id).then(function(t) {
var e = mo.portfolio.group.members;
e.splice(e.indexOf(o), 1), g.success(o.customer.name + " foi removido!", {
raw: !0
})
}, co)
})
}
function no() {
p.confirm("Deixar o grupo", "Você tem certeza que deseja sair deste grupo?", {
textOk: "Sair"
}).then(function(o) {
"ok" === o && s.removeMember(mo.portfolio.group._id, mo.portfolio._id).then(function(o) {
mo.portfolio.isShared = !1, mo.portfolio.group = null, g.success("Você saiu do grupo!", {
raw: !0
}), f.toPosition(0)
}, co)
})
}
function ro(o) {
p.confirm("Lembrar participante", "Confirma o envio do lembrete de depósito para " + o.customer.name + "?", {
textOk: "Enviar"
}).then(function(t) {
"ok" === t && s.reminderMember(mo.portfolio.group._id, {
portfolioId: o._id
}).then(function(o) {
g.success("Lembrete enviado!", {
raw: !0
})
}, co)
})
}
function io(o) {
o && s.setAdmin(mo.portfolio.group._id, {
portfolioId: o._id
}).then(function(t) {
mo.portfolio.group.admins = t.admins, g.success(o.customer.name + " foi atualizado!", {
raw: !0
})
}, co)
}
function ao() {
return mo.fund.stocksShare <= .06 ? m.getString("portfolio_chart_mm1_explanation") : mo.fund.stocksShare <= .12 ? m.getString("portfolio_chart_mm2_explanation") : mo.fund.stocksShare <= .2 ? m.getString("portfolio_chart_mm3_explanation") : mo.fund.stocksShare > .2 ? m.getString("portfolio_chart_mm4_explanation") : void 0
}
function so(o) {
var t = mo.portfolio.group.members,
e = mo.invites;
o._id == mo.portfolio._id ? mo.portfolio.seeTransactions = !mo.portfolio.seeTransactions : mo.portfolio.seeTransactions = !1;
for (var n = 0; n < t.length; n++) t[n]._id == o._id ? t[n].seeTransactions = !t[n].seeTransactions : t[n].seeTransactions = !1;
for (var n = 0; n < e.length; n++) e[n]._id == o._id ? e[n].seeTransactions = !e[n].seeTransactions : e[n].seeTransactions = !1
}
function co(o) {
o && o.message && g.error(o.message)
}
function lo() {
r.accordionTabFund = !r.accordionTabFund, mo.fundPerformance || I()
}
function uo(o) {
P({
portfolio: mo.id,
length: o
})
}
function fo(o) {
if (mo.portfolio.background) try {
var t = document.getElementById(o ? "portfolio-background-mobile" : "portfolio-background"),
e = o ? mo.portfolio.background.regular : mo.portfolio.background.full;
t && (t.style.backgroundImage = "url('" + e + "')")
} catch (o) {
console.log(o)
}
}
var po = 0,
go = null,
mo = this;
mo.id = null, mo.loading = !0, mo.portfolio = null, mo.funds = null, mo.fund = null, mo.transactions = null, mo.performance = null, mo.fundPerformance = null, mo.seeFundPerformance = !1, mo.updateMessage = null, mo.chart = null, mo.isLoadingChart = !0, mo.availableLengths = null, mo.pendingCount = 0, mo._heroState = null, mo._goalGraphState = null, mo._historyState = null, mo._allocationTable = null, mo._pendingTransactions = [], mo._completedTransactions = [], mo.setTab = L, mo.isTab = $, mo.formatDate = G, mo.toggleEditPanel = H, mo.endWizard = T, mo.isSelected = W, mo.toggleTransaction = z, mo.getRiskName = y, mo.withinGoal = k, mo.computeFutureValue = J, mo.findFundByApiId = U, mo.swapNetGrossValue = M, mo.updateChart = uo, mo.openFundPerformance = j, mo.getSeeFundPerformance = q, mo.addMember = Q, mo.removeMember = eo, mo.setAdmin = io, mo.memberPercentage = K, mo.leaveGroup = no, mo.resendInvite = oo, mo.cancelInvite = to, mo.reminderMember = ro, mo.seeMemberTransactions = so, mo.openHistoryAccordion = lo, mo.getNegativeEarningsResource = ao, mo.loadBackground = fo, v(), mo.reload = function() {
v(), mo._pendingTransactions.length || o(function() {
f.toPosition(0)
}, 1500)
}, r.startRegister = function() {
"visitPortfolio" !== mo.user.dash && "checkEmailForSetupNotification" !== mo.user.dash && "checkEmailForVerifyPasswordNotification" !== mo.user.dash && "requestVerifyEmail" !== mo.user.dash ? (mo.user.dash = "startRegister", N()) : C(function(o, t) {
mo.user.dash = t, N()
})
}, r.formatScheduletAt = function(o) {
return o ? d.utc(o).format("DD/MM/YYYY") : ""
}
}
t.$inject = ["$timeout", "$q", "$state", "$stateParams", "$scope", "$rootScope", "wrnAnalytics", "wrnPortfolio", "wrnUser", "wrnTransaction", "wrnInvites", "wrnSmoothScroll", "moment", "wrnDialog", "wrnFlash", "wrnResources", "$location"], angular.module("warren.pages.portfolio", []).controller("warrenPortfolioController", t).directive("warrenPortfolio", o), o.$inject = []
}();
! function() {
"use strict";
function o() {
return {
scope: {},
templateUrl: "app/pages/portfoliogroup/portfoliogroupaccept.template.html",
controller: t,
controllerAs: "c_portfoliogroupaccept"
}
}
function t(o, t, r, n, i) {
function e() {
r.instantLogin(t.token).then(function(o) {
c(o)
}, function(t) {
i.error(t.message), o.go("signin")
})
}
function c(r) {
n.acceptInvite(t.id).then(function(t) {
r.isSuitabilityFinished ? o.go("portfolio", {
id: t.portfolio._id
}) : o.go("suitability")
}, function(t) {
i.error(t.message), o.go("signin")
})
}
e()
}
t.$inject = ["$state", "$stateParams", "wrnUser", "wrnPortfolio", "wrnFlash"], angular.module("warren.pages.portfoliogroupaccept", []).controller("warrenPortfolioGroupAcceptController", t).directive("warrenPortfolioGroupAccept", o), o.$inject = []
}();
! function() {
"use strict";
function t() {
return {
templateUrl: "app/pages/post/post.template.html",
controller: e,
controllerAs: "c_post"
}
}
function e(t, e, o, a, n, s, i, r) {
function p() {
l.loading = !0, l.backTo = n.backTo || "dash";
var a;
switch (r.environment.name) {
case "local":
a = "local.oiwarren.com:5000/app/#/post/";
break;
case "development":
a = "https://develop.oiwarren.com/app/#/post/";
break;
case "staging":
a = "https://staging.oiwarren.com/app/#/post/";
break;
case "production":
a = "https://oiwarren.com/app/#/post/";
break;
default:
a = "https://oiwarren.com/app/#/post/"
}
var s, p = (new Date).getTime(),
c = !t.isEmpty("accounts.accessToken");
s = c ? [e.getMine(), e.getById(n.id)] : [e.getById(n.id)], o.all(s).then(function(t) {
var n = (new Date).getTime();
if (c ? (l.posts = t[0], l.post = t[1], e.track(l.post.id, {
read: !0
})) : (l.post = t[0], e.publicRead(l.post.id)), "production" === r.environment.name) var s = {
twitter: a + l.post.id + "?utm_medium=referral&utm_source=twitter&utm_campaign=" + l.post.dashboardTitle + "&utm_content=link",
facebook: a + l.post.id + "?utm_medium=referral&utm_source=facebook&utm_campaign=" + l.post.dashboardTitle + "&utm_content=link",
whatsapp: a + l.post.id + "?utm_medium=referral&utm_source=whatsapp&utm_campaign=" + l.post.dashboardTitle + "&utm_content=link",
messenger: a + l.post.id + "?utm_medium=referral&utm_source=messenger&utm_campaign=" + l.post.dashboardTitle + "&utm_content=link",
email: a + l.post.id + "?utm_medium=referral&utm_source=email&utm_campaign=" + l.post.dashboardTitle + "&utm_content=link"
};
else var s = {
twitter: a + l.post.id,
facebook: a + l.post.id,
whatsapp: a + l.post.id,
messenger: a + l.post.id,
email: a + l.post.id
};
o.all([e.getShortenedURL(s.twitter), e.getShortenedURL(s.facebook), e.getShortenedURL(s.whatsapp), e.getShortenedURL(s.messenger), e.getShortenedURL(s.email)]).then(function(t) {
m(t), i(function() {
l.loading = !1
}, Math.max(1e3 - n + p, 0))
}, function(t) {
i(function() {
l.loading = !1
}, Math.max(1e3 - n + p, 0))
})
})
}
function c(t, o) {
if (!o)
for (var a = 0; a < l.posts.length; a++)
if (l.posts[a].id === t) {
l.posts.splice(a, 1);
break
}
e.track(l.post.id, {
interact: !0
}).then(function(t) {
o && s.go("dash")
})
}
function d() {
e.track(l.post.id, {
interact: !0
}).then(function(t) {
s.go("post", {
id: l.posts[1].id
})
})
}
function m(t) {
var e, o;
e = encodeURIComponent("Warren News: " + l.post.dashboardTitle + " " + l.post.dashboardSubtitle), o = "oiwarren";
var n = "https://twitter.com/intent/tweet?text=" + e + "&url=" + t[0].id + "&hashtags=" + o,
s = "https://www.facebook.com/dialog/feed?app_id=1636715299924634&link=" + t[1].id + "&picture=https://oiwarren.com/assets/imgs/icons/ic_warren-news_facebook_1200x630.png&name=Warren News: " + l.post.dashboardTitle + "&caption=Invista bem com o Warren!&description=" + l.post.dashboardSubtitle,
i = "whatsapp://send?text=*Warren News*: " + l.post.dashboardTitle + " " + l.post.dashboardSubtitle + " " + t[2].id,
r = "https://www.facebook.com/dialog/send?app_id=1636715299924634&link=" + t[3].id + "&redirect_uri=" + t[3].id,
p = encodeURIComponent("Olhe esta notícia no Warren"),
c = encodeURIComponent("Olhe esta notícia: ") + t[4].id,
d = "mailto:?&subject=" + p + "&body=" + c;
a.shortenedShareLinks = {
twitter: n,
facebook: s,
whatsapp: i,
messenger: r,
email: d
}
}
var l = this;
l.interactPost = c, l.nextPost = d, p()
}
angular.module("warren.pages.post", []).controller("warrenPostController", e).directive("warrenPost", t), t.$inject = [], e.$inject = ["wrnSession", "wrnPost", "$q", "$scope", "$stateParams", "$state", "$timeout", "config"]
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/pages/profile/profile.redirect.html",
controller: t,
controllerAs: "c_profile"
}
}
function t(e, t, i, n, r, o, s, l, a, c, u) {
function f() {
d();
var t = e.profile;
b = t;
try {
n.pageView("profile/" + t)
} catch (e) {}
y.title = "profile_" + t + "_title", y.subtitle = "profile_" + t + "_subtitle", y.description = "profile_" + t + "_description_tw", y.description2 = "profile_" + t + "_description2_tw", y.title || i.go("404"), w()
}
function p() {
y.isStarted = !0
}
function h() {
o.toPosition(1e5, 0)
}
function w() {
return y.suitability = !!e.suitability, y.suitability
}
function d() {
c.isEmpty("accounts.accessToken") || u.all([a.getCurrent()]).then(function(e) {
y.user = e[0], y.hasTutorial = !y.user.isPortfolioFinished
}, function(e) {
console.error(e)
})
}
function g() {
y.showNextDescription = !y.suitability, y.suitability && m()
}
function m() {
t(function() {
y.showShareButtons = !y.suitability && !y.user.isPortfolioFinished, o.toPosition(1e4), t(function() {
y.showInputBar = !0
}, 500)
}, 500)
}
function v() {
return "https://oiwarren.com/%23/profile/" + b
}
function _() {
y.processingReserve = !0, s.config(y.user.name, y.user.email), s.reserve().then(function(e) {
y.processingReserve = !1, i.go("lineplace"), s.affiliate() && (n.track(null, "Waitlist Inserted", {
name: name
}), n.event("invitee", "enteredTheLine", "profile", "1"))
}, function(e) {
404 == e ? s.position().then(function(e) {
y.processingReserve = !1, i.go("lineplace")
}, function(e) {
y.processingReserve = !1, l.error(e, {
raw: !0
})
}) : (y.processingReserve = !1, l.error(e, {
raw: !0
}))
})
}
var b = null,
y = this;
y.title = null, y.subtitle = null, y.description = null, y.isStarted = !1, y.shouldContinue = !1, y.start = p, y.finishChat = m, y.scroll = h, y.getProfileUrl = v, y.waitlistReservation = _, y.hasTutorial = r.has("tutorial") || !1, y.nextDescription = g, f()
}
angular.module("warren.pages.profile", []).controller("warrenProfileController", t).directive("warrenProfile", e), e.$inject = [], t.$inject = ["$stateParams", "$timeout", "$state", "wrnAnalytics", "wrnContext", "wrnSmoothScroll", "waitlist", "wrnFlash", "wrnUser", "wrnSession", "$q"]
}();
! function() {
"use strict";
function n() {
return {
templateUrl: "app/pages/quotes/quotes.template.html",
controller: t,
controllerAs: "c_quotes"
}
}
function t(n, t, e, o, r, u) {
function i() {
try {
o.pageView("quotes")
} catch (n) {}
return t.fundId ? (d.fundId = t.fundId, void e.all([a(), s()]).then(function(n) {
d.summary = n[0], d.positions = n[1], d.isLoading = !1
})) : void $state.go("404")
}
function a() {
return r.getInvestmentSummary()
}
function s() {
return r.getPositions(d.fundId)
}
function c(n) {
return u(n).format("DD/MM/YYYY - HH:mm")
}
function l(n) {
f = f === n ? null : n
}
function m(n) {
return f === n
}
var d = this;
d.summary = null, d.isLoading = !0, d.formatDate = c, d.setAccordion = l, d.isAccordion = m;
var f = null;
i()
}
t.$inject = ["$scope", "$stateParams", "$q", "wrnAnalytics", "wrnTransaction", "moment"], angular.module("warren.pages.quotes", []).controller("warrenQuotesController", t).directive("warrenQuotes", n), n.$inject = []
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/pages/register/register.template.html",
controller: t,
controllerAs: "c_register"
}
}
function t(e, t, n, r, c) {
function s() {
try {
t.pageView("register")
} catch (e) {}
e.become().then(function(t) {
l.user = t, t.document && (t.document.type = t.document.type || "rg"), t.bankAccounts.length ? t.bankAccounts[0].type = t.bankAccounts[0].type || "current" : e.addBankAccount().then(function(e) {
e.type = e.type || "current", t.bankAccounts.push(e)
}, function(e) {
console.error(e)
})
}).catch(function(e) {
console.error(e)
})
}
function a() {
var e = r.$$childTail;
e && e.c_step4 && e.c_step4.user && (e.c_step4.user.document.state || e.c_step4.updateState(e.c_step2.user.address.state))
}
function i() {
var e = r.$$childTail;
switch (u) {
case 1:
e.c_step1.submit();
break;
case 2:
e.c_step2.submit();
break;
case 3:
e.c_step3.submit(), a();
break;
case 4:
e.c_step4.submit()
}
}
var u = 1,
o = 1,
l = this;
l.user = null, l.setTab = function(e) {
u = e, o = Math.max(o, e)
}, l.getTab = function() {
return u
}, l.isTab = function(e) {
return u === e
}, l.isEnabled = function(e) {
return e <= o || l.user.isRegisterValidated
}, l.isSaving = !1, l.submit = i, s()
}
angular.module("warren.pages.register", []).controller("warrenRegisterController", t).directive("warrenRegister", e), e.$inject = [], t.$inject = ["wrnUser", "wrnAnalytics", "wrnMaps", "$scope", "$timeout"]
}();
! function() {
"use strict";
function e() {
return {
scope: {},
templateUrl: "app/pages/reset/reset.template.html",
controller: r,
controllerAs: "c_reset"
}
}
function r(e, r, t, n) {
function s() {
try {
r.pageView("reset")
} catch (e) {}
}
function o() {
a.processing = !0, t.reset(a.data.email).then(function() {
a.finished = !0
}, function(e) {
console.error(e), a.processing = !1;
var r = "";
if (e.errors) {
r += "\n";
for (var t = 0; t < e.errors.length; t++) r += "-" + e.errors[t].msg + "\n"
}
n.error(e.message, r)
})
}
var a = this;
a.doReset = o, a.finished = !1, a.processing = !1, a.data = {
email: null
}, s()
}
angular.module("warren.pages.reset", []).controller("warrenResetController", r).directive("warrenReset", e), e.$inject = [], r.$inject = ["$state", "wrnAnalytics", "wrnUser", "wrnFlash"]
}();
! function() {
"use strict";
function e() {
return {
scope: {},
templateUrl: "app/pages/resetpassword/resetpassword.template.html",
controller: s,
controllerAs: "c_resetpassword"
}
}
function s(e, s, r, n, t) {
function o() {
try {
r.pageView("resetpassword")
} catch (e) {}
a()
}
function a() {
var e = s.token;
l.loading = !0, n.resetCheck(e).then(function() {
l.loading = !1
}, function(e) {
l.loading = !1, l.error = !0
})
}
function c() {
var r = s.token;
l.processing = !0, n.resetConfirm(r, l.data.password).then(function() {
l.processing = !1, l.finished = !0, t.success("Senha alterada com sucesso", {
raw: !0
}), e.go("dash")
}, function(e) {
l.processing = !1, t.error(e.message)
})
}
function i(e) {
document.getElementsByName("password")[0].focus()
}
var l = this;
l.doReset = c, l.focusPassword = i, l.loading = null, l.processing = null, l.error = null, l.finished = null, l.data = {
password: null
}, o()
}
angular.module("warren.pages.resetpassword", []).controller("warrenResetPasswordController", s).directive("warrenResetPassword", e), e.$inject = [], s.$inject = ["$state", "$stateParams", "wrnAnalytics", "wrnUser", "wrnFlash"]
}();
! function() {
"use strict";
function r() {
return {
templateUrl: "app/pages/ricometro/ricometro.template.html",
controller: t,
controllerAs: "c_ricometro"
}
}
function t(r, t, i, e, n, o) {
function a() {
try {
t.pageView("ricometro")
} catch (r) {}
}
function l() {
u.inputVisible = !0
}
function s() {
u.isWizardFinished = !0
}
function c() {
u.data.salary < 1e3 || (u.inputVisible = !1, r.go("ricometro-result", {
salary: u.data.salary
}))
}
var u = this;
u.inputVisible = !1, u.data = {
salary: null
}, u.showResult = c, u.showInput = l, u.finishWizard = s, a()
}
angular.module("warren.pages.ricometro", []).controller("warrenRicometroController", t).directive("warrenRicometro", r), r.$inject = [], t.$inject = ["$state", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnHistory", "wrnSession"]
}();
! function() {
"use strict";
function e() {
return {
scope: {},
templateUrl: "app/pages/setup/setup.template.html",
controller: n,
controllerAs: "c_setup"
}
}
function n(e, n, t, r, o) {
function s() {
try {
t.pageView("setup")
} catch (e) {}
a()
}
function a() {
var e = n.token;
u.loading = !0, r.setupCheck(e).then(function(e) {
u.userEmail = e.email, u.loading = !1
}, function(e) {
u.loading = !1, u.error = !0
})
}
function l() {
var t = n.token;
u.processing = !0, r.setupConfirm(t, u.data.password).then(function() {
u.processing = !1, u.finished = !0, n.backTo ? e.go(n.backTo) : e.go("dash")
}, function(e) {
u.processing = !1, o.error(e.message)
})
}
function i(e) {
document.getElementsByName("password")[0].focus()
}
var u = this;
u.doReset = l, u.focusPassword = i, u.loading = null, u.processing = null, u.error = null, u.finished = null, u.data = {
password: null
}, u.userEmail = null, s()
}
angular.module("warren.pages.setup", []).controller("warrenSetupController", n).directive("warrenSetup", e), e.$inject = [], n.$inject = ["$state", "$stateParams", "wrnAnalytics", "wrnUser", "wrnFlash"]
}();
! function() {
"use strict";
function o(o, n, e, s, a, r, i, c) {
function t() {
try {
e.pageView("signin")
} catch (o) {}
i.isEmpty("accounts.accessToken") || g();
var o = new Date,
n = o.getHours();
n >= 6 && n < 12 ? d.greetings = "Bom dia :)" : n >= 12 && n < 18 ? d.greetings = "Boa tarde :)" : n >= 18 && n < 24 ? d.greetings = "Boa noite :)" : d.greetings = "Na madruga? Olá!"
}
function g() {
if (n.backTo && "signout" !== n.backTo && "signin" !== n.backTo && "instantlogin" !== n.backTo) {
var e = JSON.parse(n.params || "{}");
o.go(n.backTo, e)
} else o.go("dash")
}
function u(o) {
document.getElementsByName("password")[0].focus()
}
function f() {
d.processingLogin = !0, s.login(d.data.email, d.data.password).then(function() {
g()
}, function(o) {
d.processingLogin = !1, console.error(o), a.error(o.message)
})
}
function l() {
d.processingFacebook = !0, r.login().then(function(o) {
s.facebookLogin(o).then(function(o) {
g()
}, function(o) {
d.processingFacebook = !1, a.error(o.message)
})
}, function() {
d.processingFacebook = !1, d.processing = !1, a.error("Erro ao logar pelo Facebook", {
raw: !0
})
})
}
function p() {
return r.scriptLoaded()
}
var d = this;
d.greetings = "", d.processingLogin = !1, d.processingFacebook = !1, d.data = {
email: "",
password: ""
}, d.doLogin = f, d.doFacebookLogin = l, d.focusPassword = u, d.facebookLoginAllowed = p, t()
}
o.$inject = ["$state", "$stateParams", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnFacebook", "wrnSession", "wrnResources"], warren.angular.controller("warren.pages.signin", o)
}();
! function() {
"use strict";
function n() {
return {
scope: {},
templateUrl: "app/pages/signout/signout.template.html",
controller: t,
controllerAs: "c_signout"
}
}
function t(n, t, e, o, r, i) {
function s() {
try {
t.pageView("signout")
} catch (n) {}
c()
}
function c() {
e.logout().then(function() {
i.clean(), t.signout(), n.go("/")
}, function(e) {
i.clean(), t.signout(), e.message && o.error(e.message), n.go("/")
})
}
s()
}
angular.module("warren.pages.signout", []).controller("warrenSignoutController", t).directive("warrenSignout", n), n.$inject = [], t.$inject = ["wrnPath", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnHistory", "wrnSession"]
}();
! function() {
"use strict";
function n() {
return {
scope: {},
templateUrl: "app/pages/signup/signup.template.html",
controller: o,
controllerAs: "c_signup"
}
}
function o(n, o, e, r, s, i) {
function t() {
try {
o.pageView("signup")
} catch (n) {}
i.isEmpty("accounts.accessToken") || n.go("dash")
}
function c(n) {
document.getElementsByName("password")[0].focus()
}
function a() {
g.processingSignup = !0, e.signup(g.data.email, g.data.password).then(function() {
n.go("suitability")
}, function(n) {
g.processingSignup = !1;
var o = "";
if (n.errors) {
o += "\n";
for (var e = 0; e < n.errors.length; e++) o += "-" + n.errors[e].msg + "\n"
}
r.error(n.message, o)
})
}
function u() {
g.processingFacebook = !0, s.login().then(function(o) {
e.facebookLogin(o).then(function(o) {
n.go("dash")
}, function(n) {
g.processingFacebook = !1, console.error(n), r.error(n.message)
})
}, function() {
console.error("facebook error")
})
}
var g = this;
g.processingSignup = !1, g.processingFacebook = !1, g.finished = !1, g.data = {
email: "",
password: ""
}, g.doSignup = a, g.doFacebookSignup = u, g.focusPassword = c, t()
}
angular.module("warren.pages.signup", []).controller("warrenSignupController", o).directive("warrenSignup", n), n.$inject = [], o.$inject = ["$state", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnFacebook", "wrnSession"]
}();
! function() {
"use strict";
function t() {
return {
scope: {},
templateUrl: "app/pages/style/style.template.html",
controller: l,
controllerAs: "c_style"
}
}
function l(t) {
function l() {
try {
t.pageView("style")
} catch (t) {}
e.components = [{
title: "Typography",
file: "typography.html"
}, {
title: "Headings",
file: "headings.html"
}, {
title: "Display Headings",
file: "display_headings.html"
}, {
title: "Paragraph",
file: "paragraph.html"
}, {
title: "Lists",
file: "lists.html"
}, {
title: "Grid",
file: "grid.html"
}, {
title: "Buttons",
file: "buttons.html"
}, {
title: "Hero",
file: "hero.html"
}, {
title: "Initials",
file: "initials.html"
}, {
title: "Chat",
file: "chat.html"
}, {
title: "Navbar",
file: "navbar.html"
}, {
title: "Navtab",
file: "navtab.html"
}, {
title: "Progressbar",
file: "progressbar.html"
}, {
title: "Blankslate",
file: "blankslate.html"
}, {
title: "Inputs",
file: "inputs.html"
}, {
title: "Forms",
file: "forms.html"
}]
}
var e = this;
e.fileBase = "app/pages/style/blocks/", e.components = null, l()
}
angular.module("warren.pages.style", []).controller("warrenStyleController", l).directive("warrenStyle", t), t.$inject = [], l.$inject = ["wrnAnalytics"]
}();
! function() {
"use strict";
function t() {
return {
templateUrl: "app/pages/suitability/suitability.template.html",
controller: i,
controllerAs: "c_suitability"
}
}
function i(t, i, a, e) {
function r() {
(t.home || t.context) && e.clean();
var r = t.affiliate;
r && a.referral(r);
try {
i.pageView("suitability")
} catch (t) {}
}
function n() {
l.isReady = !0
}
var l = this;
l.isReady = !1, l.start = n, r()
}
angular.module("warren.pages.suitability", []).controller("warrenSuitabilityController", i).directive("warrenSuitability", t), t.$inject = [], i.$inject = ["$stateParams", "wrnAnalytics", "waitlist", "wrnSession"]
}();
! function() {
"use strict";
function e() {
return {
scope: {},
templateUrl: "app/pages/team/team.template.html",
controller: t,
controllerAs: "c_team"
}
}
function t(e, t, r, n, a, c) {
function l() {
try {
t.pageView("team")
} catch (e) {}
}
l()
}
angular.module("warren.pages.team", []).controller("warrenTeamController", t).directive("warrenTeam", e), e.$inject = [], t.$inject = ["$state", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnHistory", "wrnSession"]
}();
! function() {
"use string";
function n(n) {
function t() {}
function e() {}
n.$on("$destroy", e), n.blah = 145;
t()
}
n.$inject = ["$scope"], warren.angular.controller("warren.pages.test", n)
}();
! function() {
"use strict";
function e(e, t, n, i, o, s, a, r, c, u, d, l, p) {
function f() {
return s.pageView("transactions"), Y.portfolio = i.id, Y.question_choice = i.choice, Y.portfolio ? (Y.isLoading = !0, Y.answers = {
question_choice: Y.question_choice
}, void o.getCurrent().then(function(e) {
Y.user = e, r.message({
id: Y.question_choice ? "question_choice" : "initial",
portfolio: Y.portfolio,
answers: Y.answers
}).then(function(e) {
m(e)
}, function(e) {
console.error(e)
})
}, function(e) {
c.error(err.message), C()
})) : void t.go("404")
}
function m(e, t) {
if (t || Y.state && Y.state.id === e.id || Y.stateHistory.push(e), e.buttons.length) e.type = "buttons";
else if (e.inputs.length)
if ("currency" === e.inputs[0].mask) e.type = "currency", Y.inputBuffer = e.inputs[0].defaultValue || 0;
else if ("date" === e.inputs[0].mask) {
e.type = "date";
var n = l(e.inputs[0].defaultValue, "DDMMYYYY");
Y.inputBuffer = n.format("DDMMYYYY")
} else "string" === e.inputs[0].type ? (e.type = "string", Y.inputBuffer = e.inputs[0].defaultValue || "") : "integer" === e.inputs[0].mask && (e.type = "integer", Y.inputBuffer = e.inputs[0].defaultValue || "");
else "deposit_final" === e.id ? e.type = "deposit" : "invoice_final" === e.id ? e.type = "invoice" : (e.id = "withdraw_final") && (e.type = "withdraw");
"deposit" === e.type ? y(e) : "invoice" === e.type ? h(e) : "withdraw" === e.type ? g(e) : (Y.state = e, Y.isChatting = !0, Y.messageIndex = 0, Y.isLoading = !1)
}
function g(e) {
r.createWithdraw(e.transaction).then(function(t) {
try {
s.pixelFB("Withdrawal Created"), s.track(Y.user, "Withdrawal Created", {
amount: t.amount,
isTotal: t.isTotal
})
} catch (e) {}
Y.withdraw = t, Y.state = e, Y.isLoading = !1, Y.isChatting = !0, Y.messageIndex = 0, Y.forecast = e.transaction.forecast
}, function(e) {
console.error(e), C(), c.error(e.message)
})
}
function y(e) {
r.createDeposit(e.transaction).then(function(t) {
try {
0 == Y.user.depositAcceptedCount ? s.pixelFB("First Deposit Created") : s.pixelFB("Deposit Created"), s.track(Y.user, "Deposit Created", {
type: "TED/DOC",
amount: t.amount
})
} catch (e) {}
Y.deposit = t, Y.state = e, Y.isLoading = !1, Y.isChatting = !0, Y.messageIndex = 0, Y.deposit.paymentBankImg = warren.enums.BankImages[Y.deposit.paymentBankCode] || warren.enums.BankImages.other
}, function(e) {
console.error(e), C(), c.error(e.message)
})
}
function h(e) {
r.createInvoice(e.transaction).then(function(t) {
try {
0 == Y.user.depositAcceptedCount ? s.pixelFB("First Deposit Created") : s.pixelFB("Deposit Created"), s.track(Y.user, "Deposit Created", {
type: "Invoice",
amount: t.amount
})
} catch (e) {}
Y.invoice = t, Y.state = e, Y.isLoading = !1, Y.isChatting = !0, Y.messageIndex = 0
}, function(e) {
console.error(e), C(), c.error(e.message)
})
}
function w() {
Y.messageIndex += 1, Y.messageIndex >= Y.state.messages.length && (Y.isChatting = !1)
}
function B(e) {
"date" === Y.state.type ? e = l(e, "DDMMYYYY").format("DD/MM/YYYY") : "integer" === Y.state.type && (e = parseInt(e)), Y.answers[Y.state.id] = e, Y.isLoading = !0, r.message({
portfolio: Y.portfolio,
id: Y.state.id,
answers: Y.answers
}).then(function(e) {
m(e)
}, function(e) {
console.error(e)
})
}
function v(e, t) {
"float" === t && (e = parseFloat(e)), Y.inputBuffer = e
}
function I(e) {
return e.value.replace(/\\n/g, "<br>")
}
function k(e) {
for (var t = 0; t < Y.user.bankAccounts.length; t++)
if (Y.user.bankAccounts[t]._id === e) return Y.selectedBank = Y.user.bankAccounts[t], Y.selectedBank.name = warren.enums.Bank[Y.user.bankAccounts[t].bank], Y.selectedBank.img = warren.enums.BankImages[Y.user.bankAccounts[t].bank] || warren.enums.BankImages.other, Y.selectedBank
}
function C() {
return "deposit" === Y.state.type || "invoice" === Y.state.type || "withdraw" === Y.state.type ? void t.go("portfolio", {
id: Y.portfolio
}) : (Y.stateHistory.pop(), Y.stateHistory.length ? void m(Y.stateHistory[Y.stateHistory.length - 1], !0) : void t.go("portfolio", {
id: Y.portfolio
}))
}
function D() {
Y.sendingEmail = !0, Y.invoice ? r.sendInvoiceByEmail(Y.invoice._id).then(function() {
Y.sendingEmail = !1
}) : Y.deposit && r.sendDepositByEmail(Y.deposit._id).then(function() {
Y.sendingEmail = !1
}, function(e) {
c.error(e.message)
})
}
function b() {
var e = Y.invoice.barCodeString || "";
e = e.replace(/\./g, "").replace(/\s/g, ""), d.copy(e), c.info("Números copiados!", {
raw: !0
})
}
var Y = this;
Y.portfolio = null, Y.id = null, Y.user = null, Y.answers = null, Y.state = null, Y.stateHistory = [], Y.inputBuffer = null, Y.isLoading = null, Y.isChatting = null, Y.isWizardFinished = null, Y.finishChat = w, Y.setInput = B, Y.changeInput = v, Y.filterMessage = I, Y.getAccountById = k, Y.back = C, Y.doEmail = D, Y.copyInvoiceNumber = b, Y.sendingEmail = null, f(), n.doCopy = function(e, t) {
"CNPJ copiado" == t && (e = e.replace(/[-\/.]/g, "")), d.copy(e), c.info(t, {
raw: !0
})
}, n.print = function(e) {
var t = window.open("", "PRINT"),
n = document.getElementById(e),
i = p.stylesheets;
t.document.write("<html><head><title>Informações para transferência</title>"), t.document.write('<link rel="stylesheet" href="/assets/css/' + i.app + '" type="text/css" />'), t.document.write('<link rel="stylesheet" href="/assets/css/' + i.vendor + '" type="text/css" />'), t.document.write("</head><body >"), t.document.write(n.innerHTML), t.document.write("</body></html>"), t.document.getElementById("copyCNPJ").remove(), t.document.getElementById("copyAgency").remove(), t.document.getElementById("copyAccount").remove(), t.document.getElementById("copyBeneficiary").remove(), t.document.getElementById("copyAmount").remove(), t.document.getElementById("options").remove(), setTimeout(function() {
t.print(), t.close()
}, 300)
}
}
e.$inject = ["$q", "$state", "$scope", "$stateParams", "wrnUser", "wrnAnalytics", "wrnPortfolio", "wrnTransaction", "wrnFlash", "wrnResources", "wrnClipboard", "moment", "config"], warren.angular.controller("warren.pages.transactions", e)
}();
! function() {
"use strict";
function n(n, i, r, s, a) {
function t() {
try {
r.pageView("unsubscribe")
} catch (n) {}
e()
}
function e() {
c.isLoading = !0, s.unsubscribe(i.token).then(function() {
c.isLoading = !1
}, function(n) {
c.isLoading = !1, a.error(n.message)
})
}
var c = this;
c.isLoading = !1, t()
}
n.$inject = ["$q", "$stateParams", "wrnAnalytics", "wrnCrm", "wrnFlash"], warren.angular.controller("warren.pages.unsubscribe", n)
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/pages/user/user.template.html",
controller: r,
controllerAs: "c_user"
}
}
function r(e, r) {
function t() {
try {
r.pageView("user")
} catch (e) {}
}
t()
}
angular.module("warren.pages.user", []).controller("warrenUserController", r).directive("warrenUser", e), e.$inject = [], r.$inject = ["$state", "wrnAnalytics"]
}();
! function() {
"use strict";
function e() {
return {
scope: {},
templateUrl: "app/pages/verifiedemail/verifiedemail.template.html",
controller: r,
controllerAs: "c_verifiedemail"
}
}
function r(e, r, i, a) {
function n() {
t.loading = !0, i.verifyEmail(r.hash).then(function() {
t.loading = !1
}, function(i) {
a.error(i.message), e.go("signin", {
backTo: r.backTo,
params: r.params
})
})
}
var t = this;
n()
}
angular.module("warren.pages.verifiedemail", []).controller("warrenVerifiedemailController", r).directive("warrenVerifiedemail", e), e.$inject = [], r.$inject = ["$state", "$stateParams", "wrnUser", "wrnFlash"]
}();
! function() {
"use strict";
function n() {
return {
templateUrl: "app/pages/withdraw/withdraw.template.html",
controller: t,
controllerAs: "c_withdraw"
}
}
function t(n, t, r, e, o, i, a, c, u) {
function s() {
try {
o.pageView("withdraw")
} catch (n) {}
return r.id ? void n.all([l(), d()]).then(function() {
h.loading = !1, h.user.isRegisterVerified || t.go("register")
}) : void t.go("404")
}
function l() {
return n(function(n, t) {
a.getCurrent().then(function(t) {
h.user = t, h.user.bankAccounts.length && (h.account = h.user.bankAccounts[0]._id, f(h.account)), n()
}, function(n) {
console.error(n), t()
})
})
}
function d() {
return n(function(n, t) {
i.getWithdrawById(r.id).then(function(r) {
h.withdraw = r, c.getById(r.fromPortfolio).then(function(t) {
h.portfolio = t, n()
}, function(n) {
console.error(n), t()
})
}, function(n) {
console.error(n), t()
})
})
}
function w() {
h.inputVisible = !0
}
function f(n) {
for (var t = 0; t < h.user.bankAccounts.length; t++)
if (h.user.bankAccounts[t]._id === n) return h.selectedBank = h.user.bankAccounts[t], h.selectedBank.name = warren.enums.Bank[h.user.bankAccounts[t].bank], h.selectedBank.img = warren.enums.BankImages[h.user.bankAccounts[t].bank] || warren.enums.BankImages.other, h.selectedBank
}
var h = this;
h.loading = !0, h.withdraw = null, h.portfolio = null, h.inputVisible = !1, h.showInput = w, h.getAccountById = f, s()
}
angular.module("warren.pages.withdraw", []).controller("warrenWithdrawController", t).directive("warrenWithdraw", n), n.$inject = [], t.$inject = ["$q", "$state", "$stateParams", "$document", "wrnAnalytics", "wrnTransaction", "wrnUser", "wrnPortfolio", "wrnClipboard"]
}();
! function() {
"use strict";
function t() {
return {
templateUrl: "app/pages/withdrawals/withdrawals.template.html",
controller: e,
controllerAs: "c_withdrawals"
}
}
function e(t, e, a, n, o, r, i, s, u, l, d, c) {
function h() {
try {
r.pageView("withdrawals")
} catch (t) {}
return j.id = a.id, j.id ? void t.all([g(), w(), f()]).then(function() {
j.loading = !1, j.withdrawThreshold = j.portfolio.totalBalance - j.pendingWithdrawals.totalAmount, j.withdrawThresholdNet = j.portfolio.totalBalance - j.pendingWithdrawals.totalAmount - j.portfolio.incomeTax - j.portfolio.transactionTax, j.user.bankAccounts.length > 1 ? (j.step = "account", j.suggeestionBankAccounts = Y()) : (j.data.account && (x(V(j.data.account).bank) || (j.withdrawThresholdNet = j.withdrawThresholdNet - parseFloat(l.getValue("withdrawals_transfer_cost")))), j.step = "value"), j.user.isRegisterVerified || e.go("register"), v()
}) : void e.go("404")
}
function g() {
return t(function(t, e) {
s.getCurrent().then(function(e) {
j.user = e, j.user.bankAccounts.length && (j.data.account = j.user.bankAccounts[0]._id, V(j.data.account)), t()
}, function(t) {
console.error(t), e()
})
})
}
function w() {
return t(function(t, e) {
i.getById(j.id).then(function(e) {
j.portfolio = e, t()
}, function(t) {
console.error(t), e()
})
})
}
function f() {
return t(function(t, e) {
u.getAllByPortoflio(j.id).then(function(e) {
j.pendingWithdrawals = e.pendingWithdraws, j.pendingWithdrawals.totalAmount = 0;
for (var a = 0; a < j.pendingWithdrawals.length; a++) j.pendingWithdrawals.totalAmount += j.pendingWithdrawals[a].amount;
t()
}, function(t) {
console.error(t), e()
})
})
}
function p() {
j.data.value = String(j.withdrawThresholdNet.toFixed(2)).replace(/\./g, ",")
}
function m() {
var t = ("FWRF1" !== j.portfolio.fund, d(j.data.scheduleAt)),
e = v();
return j.isScheduledDateValid = !1, !(t.diff(e, "days") < 0) && (j.isScheduledDateValid = !0, !0)
}
function v() {
var t = d.utc(new Date),
e = "FWRF1" !== j.portfolio.fund;
return e ? c.addWeekDays(t, 3) : c.addWeekDays(t, 1), d().hour() > 13 && c.addWeekDays(t, 1), j.getMinScheduleDate = t.format("DD/MM/YYYY"), t
}
function A() {
if (j.data.scheduleAt && d(j.data.scheduleAt).isValid()) {
try {
if (!m()) throw new Error("Invalid date");
j.data.scheduleAt = d(j.data.scheduleAt), j.data.scheduleAt = d.utc(j.data.scheduleAt).format("DD/MM/YYYY")
} catch (t) {
return
}
b()
}
}
function k() {
j.scheduled = !0, b()
}
function b() {
if ("value" == j.step) {
if (!j.data.value) return;
if (j.withdrawThresholdNet < j.data.value) return
}
"scheduling" === j.step ? (String(j.data.value).indexOf(",") >= 0 ? j.data.valueNumber = parseFloat(String(j.data.value).replace(/,/g, ".")) : j.data.valueNumber = parseFloat(j.data.value), j.step = "summary") : "value" === j.step ? j.step = "scheduling" : (j.step = "value", j.data.account && (x(V(j.data.account).bank) || (j.withdrawThresholdNet = j.withdrawThresholdNet - parseFloat(l.getValue("withdrawals_transfer_cost"))))), j.inputVisible = !1
}
function T() {
j.saving = !0, String(j.data.value).indexOf(",") >= 0 && (j.data.value = parseFloat(String(j.data.value).replace(/,/g, "."))), j.data.value == j.withdrawThresholdNet.toFixed(2) ? j.data.isTotal = !0 : j.data.isTotal = !1;
var t = {
amount: j.data.value,
fromPortfolio: j.id,
toAccount: j.data.account,
isTotal: j.data.isTotal,
scheduled: j.scheduled,
scheduleAt: j.data.scheduleAt
};
u.createWithdraw(t).then(function(t) {
r.track(j.user, "Withdrawal Created", {
amount: t.amount,
isTotal: t.isTotal
}), e.go("portfolio", {
id: j.id,
action: "history"
})
}, function(t) {
console.error(t), j.saving = !1
})
}
function W() {
j.messageScheduleMin = "", "scheduling" === j.step ? (String(j.data.value).indexOf(".") >= 0 && (j.data.value = String(j.data.value).replace(/\./g, ",")), j.data.scheduleAt = null, j.scheduled = !1, j.scheduleAt = null, j.step = "value") : "value" === j.step && j.user.bankAccounts.length > 1 ? (j.data.scheduleAt = null, j.scheduled = !1, j.step = "account") : "summary" === j.step ? (j.data.scheduleAt = null, j.scheduled = !1, j.step = "scheduling") : e.go(a.backTo || "portfolio", {
id: j.id
})
}
function y() {
return o("money")(j.portfolio.totalBalance || 0, "R$ ")
}
function N() {
return o("money")(j.withdrawThresholdNet || 0, "R$ ")
}
function S() {
return o("money")(j.portfolio.transactionTax || 0, "R$ ")
}
function $() {
return o("money")(j.portfolio.incomeTax || 0, "R$ ")
}
function B() {
var t = 0;
return x(V(j.data.account).bank) || (t = l.getValue("withdrawals_transfer_cost")), o("money")(t || 0, "R$ ")
}
function _() {
return o("money")(j.pendingWithdrawals.totalAmount || 0, "R$ ")
}
function R() {
for (var t = {}, e = 0; e < j.user.bankAccounts.length; e++) {
var a = j.user.bankAccounts[e];
t[a._id] = warren.utils.bankAccountToString(a)
}
return t
}
function V(t) {
for (var e = 0; e < j.user.bankAccounts.length; e++)
if (j.user.bankAccounts[e]._id === t) return j.selectedBank = j.user.bankAccounts[e], j.selectedBank.name = warren.enums.Bank[j.user.bankAccounts[e].bank], j.selectedBank.img = warren.enums.BankImages[j.user.bankAccounts[e].bank] || warren.enums.BankImages.other, j.selectedBank
}
function M() {
j.inputVisible = !0, j.withdrawAll = l.getString("withdrawals_value_total_balance")
}
function F() {
j.pendingWithdrawals.totalAmount > 0 ? j.withdrawThresholdNet < j.data.value && (j.pendingWithdrawals.length > 1 ? j.suggestionMessage = j.user.name + ", o saldo líquido disponível para resgate é de " + o("money")(j.withdrawThresholdNet || 0, "R$ ") + ". (Você já possui outros resgates solicitados neste objetivo)" : j.suggestionMessage = j.user.name + ", o saldo líquido disponível para resgate é de " + o("money")(j.withdrawThresholdNet || 0, "R$ ") + ". (Você já possui outro resgate solicitado neste objetivo)") : j.withdrawThresholdNet < j.data.value ? j.suggestionMessage = j.user.name + ", o saldo líquido disponível para resgate neste objetivo é de " + o("money")(j.withdrawThresholdNet || 0, "R$ ") : j.suggestionMessage = ""
}
function D() {
return o("money")(j.data.value, "R$ ")
}
function x(t) {
if (!t) return !1;
var e = l.getStringArray("withdrawals_warren_bank_accounts");
return e.indexOf(t) >= 0
}
function Y() {
if (!j.user || !j.user.bankAccounts) return [];
for (var t = j.user.bankAccounts, e = [], a = 0; a < t.length; a++) x(t[a].bank) && e.push(warren.utils.bankAccountToString(t[a]));
if (e.length > 1) {
j.suggeestionBankAccountsMessage = "";
for (var a = 0; a < e.length; a++) j.suggeestionBankAccountsMessage += "<b>" + e[a] + "</b>" + (a === e.length - 2 ? " ou " : a < e.length - 2 ? ", " : "")
}
return e
}
var j = this;
j.id = null, j.loading = !0, j.user = null, j.portfolio = null, j.saving = !1, j.inputVisible = !1, j.data = {
value: null,
account: null
}, j.pendingWithdraws = null, j.withdrawThreshold = null, j.setValue = b, j.doWithdraw = T, j.getWithdrawAmountLimit = y, j.getWithdrawAmountLimitNet = N, j.getAccounts = R, j.back = W, j.dialogEnded = M, j.getAccountById = V, j.valitedAmount = F, j.withdrawAmountLimit = p, j.schedule = k, j.setSchedule = A, j.getValueAsMoney = D, j.getWithdrawIOFCost = S, j.getWithdrawIRCost = $, j.getWithdrawTransferCost = B, j.getPendingWithdrawalsTotalAmount = _, j.validateScheduleAt = m, h()
}
angular.module("warren.pages.withdrawals", []).controller("warrenWithdrawalsController", e).directive("warrenWithdrawals", t), t.$inject = [], e.$inject = ["$q", "$state", "$stateParams", "$scope", "$filter", "wrnAnalytics", "wrnPortfolio", "wrnUser", "wrnTransaction", "wrnResources", "moment", "weekdays"]
}();
! function() {
"use strict";
function t(t, n, e, i) {
function s() {
g.answers = {}, g.isWizardFinished = !c.wizards.shouldOpen1, g.isLoading = !0, i.builder().then(function(t) {
r(t), g.isLoading = !1
}, function(t) {
console.error(t)
})
}
function a() {}
function r(t, n) {
if (n || g.state && g.state.id === t.id || g.stateHistory.push(t), t.buttons.length) t.type = "button";
else if (t.inputs.length) t.type = "input", g.inputBuffer = t.inputs[0].defaultValue || null;
else if (t.portfolio) return c.toPage("summary", t);
g.state = t, g.isChatting = !0, g.messageIndex = 0
}
function o() {
g.messageIndex += 1, g.messageIndex >= g.state.messages.length && (g.isChatting = !1)
}
function u() {
g.isWizardFinished = !0, e(function() {
c.wizards.shouldOpen1 = !1
}, 600)
}
function l(t) {
g.answers[g.state.id] = t, g.isLoading = !0, i.builder({
id: g.state.id,
answers: g.answers
}).then(function(t) {
r(t), g.isLoading = !1
}, function(t) {
console.error(t)
})
}
function d(t) {
return t.replace(/\\n/g, "<br>")
}
function f() {
return g.stateHistory.pop(), g.stateHistory.length ? void r(g.stateHistory[g.stateHistory.length - 1], !0) : void n.go("dash")
}
t.$on("$destroy", a);
var c = t.$parent.c_builder,
g = this;
g.parent = c, g.answers = null, g.state = null, g.stateHistory = [], g.messageIndex = null, g.inputBuffer = null, g.isLoading = null, g.isChatting = null, g.isWizardFinished = null, g.finishWizard = u, g.finishChat = o, g.setInput = l, g.filterMessage = d, g.back = f, s()
}
t.$inject = ["$scope", "$state", "$timeout", "wrnPortfolio"], warren.angular.controller("warren.pages.builder.chat", t)
}();
! function() {
"use strict";
function t(t, o) {
function n() {
c.state = p.context, c.portfolio = warren.utils.deepcopy(c.state.portfolio), c.fund = p.funds[c.portfolio.fund], c.isChatting = !0, c.messageIndex = 0, i(), l()
}
function e() {}
function l() {
c.allocations = c.fund.allocations.slice(), c.allocations.sort(function(t, o) {
return o.allocValue - t.allocValue
})
}
function i(o) {
o = o || 12 * c.portfolio.goalDuration, c.simulation = {}, c.simulation.futureValue = warren.finance.futureValue(c.portfolio.initialInvestment, o, c.fund.avgMonthlyInterestRate, c.portfolio.monthlyInvestment), c.simulation.futureValueMin = warren.finance.futureValue(c.portfolio.initialInvestment, o, c.fund.minMonthlyInterestRate, c.portfolio.monthlyInvestment), c.simulation.futureValueMax = warren.finance.futureValue(c.portfolio.initialInvestment, o, c.fund.maxMonthlyInterestRate, c.portfolio.monthlyInvestment), c.simulation.futureSavings = warren.finance.futureValue(c.portfolio.initialInvestment, o, .0061, c.portfolio.monthlyInvestment), t.$$phase || t.$apply()
}
function a() {
return c.simulation.futureValue >= c.portfolio.goalAmount
}
function r() {
c.portfolio = warren.utils.deepcopy(c.state.portfolio), c.fund = p.funds[c.portfolio.fund], f()
}
function u() {
var t = c.portfolio,
o = c.state.portfolio;
return t.fund != o.fund || t.goalAmount != o.goalAmount || t.goalDuration != o.goalDuration || t.initialInvestment != o.initialInvestment || t.monthlyInvestment != o.monthlyInvestment || t.goalMonthlyIncome != o.goalMonthlyIncome
}
function f(t) {
var n = o.getValue("deposits_minimum_initial"),
e = o.getValue("deposits_minimum_monthly"),
a = o.getValue("builder_edit_goalyears_max");
if (c.portfolio.goalDuration = parseInt(c.portfolio.goalDuration), c.portfolio.goalDuration = warren.utils.clamp(c.portfolio.goalDuration, 1, a), c.portfolio.initialInvestment = parseInt(c.portfolio.initialInvestment), c.portfolio.initialInvestment = Math.max(c.portfolio.initialInvestment, n), c.portfolio.monthlyInvestment = parseInt(c.portfolio.monthlyInvestment), c.portfolio.monthlyInvestment <= 50 ? c.portfolio.monthlyInvestment = 0 : c.portfolio.monthlyInvestment < e && (c.portfolio.monthlyInvestment = e), "monthly_income" === c.portfolio.goal) {
c.portfolio.goalMonthlyIncome = Math.max(c.portfolio.goalMonthlyIncome || 0, 100);
var r = o.getValue("builder_interest_inflation_year"),
f = Math.round(warren.finance.futureValue(c.portfolio.goalMonthlyIncome, c.portfolio.goalDuration, r) / c.fund.avgMonthlyInterestRate) * c.fund.avgMonthlyInterestRate;
c.portfolio.goalAmount = Math.round(f / p.funds.FWRF1.avgMonthlyInterestRate)
}
c.fund = p.funds[t || c.portfolio.fund], i(), l(), u() && (c.portfolio.isCustomerAwareOfOwnRisk = !0, c.portfolio.isEdited = !0)
}
function s(t, n) {
if ("monthlyInvestment" === t && 0 === c.portfolio.monthlyInvestment && n > 0) c.portfolio.monthlyInvestment = o.getValue("deposits_minimum_monthly");
else if ("fund" === t) {
var e = Object.keys(p.funds),
l = e.indexOf(c.portfolio.fund);
l = warren.utils.clamp(l + n, 0, e.length - 1), c.portfolio.fund = e[l]
} else c.portfolio[t] += n || 0;
f()
}
function m() {
var t = warren.utils.deepcopy(c.state);
t.portfolio = c.portfolio, p.toPage("name", t)
}
t.$on("$destroy", e);
var p = t.$parent.c_builder,
c = this;
c.parent = p, c.state = null, c.fund = null, c.portfolio = null, c.allocations = null, c.simulation = null, c.withinGoal = a, c.reset = r, c.canReset = u, c.updateInfo = f, c.setValue = s, c.simulate = i, c.next = m, n()
}
t.$inject = ["$scope", "wrnResources"], warren.angular.controller("warren.pages.builder.edit", t)
}();
! function() {
"use strict";
function o(o, n, t, e, i, r, l) {
function s() {
c.isSaving = !1, c.shouldFocus = !1, c.state = d.context, c.portfolio = c.state.portfolio, c.fund = d.funds[c.portfolio.fund], c.suggestion = u()
}
function a() {}
function u() {
var o = {
target: "builder_step4_namesuggestion_target",
monthly_income: "builder_step4_namesuggestion_monthly_income",
emergency: "builder_step4_namesuggestion_emergency",
free: "builder_step4_namesuggestion_free"
},
n = e.getStringArray(o[c.portfolio.goal] || o.free);
return n[Math.floor(Math.random() * n.length)]
}
function g() {
c.isSaving || d.toPage("summary")
}
function m() {
c.isSaving = !0;
var o = {
name: c.name,
goal: c.portfolio.goal,
goalDuration: c.portfolio.goalDuration,
goalAmount: c.portfolio.goalAmount,
initialInvestment: c.portfolio.initialInvestment,
monthlyInvestment: c.portfolio.monthlyInvestment,
goalMonthlyIncome: c.portfolio.goalMonthlyIncome,
fund: c.fund.apiId,
isCustomerAwareOfOwnRisk: c.portfolio.isCustomerAwareOfOwnRisk || null,
isEdited: c.portfolio.isEdited || !1,
isShared: c.portfolio.isShared,
members: c.portfolio.members
};
t.save(o).then(function(t) {
l.pixelFB("Builder Finished"), l.track(c.parent.user, "Builder Finished", {
goal: o.goal,
goalDuration: o.goalDuration,
goalAmount: o.goalAmount,
initialInvestment: o.initialInvestment,
monthlyInvestment: o.monthlyInvestment
}), t.isShared ? n.go("portfoliogroupinvites", {
id: t._id,
builder: !0
}) : n.go("dash"), i.remove("tutorial")
}, function(o) {
o && o.message && r.error(o.message), c.isSaving = !1
})
}
function f() {
c.shouldFocus = !0
}
o.$on("$destroy", a);
var d = o.$parent.c_builder,
c = this;
c.parent = d, c.state = null, c.portfolio = null, c.name = null, c.fund = null, c.isSaving = null, c.suggestion = null, c.shouldFocus = null, c.back = g, c.next = m, c.focus = f, s()
}
o.$inject = ["$scope", "$state", "wrnPortfolio", "wrnResources", "wrnContext", "wrnFlash", "wrnAnalytics"], warren.angular.controller("warren.pages.builder.name", o)
}();
! function() {
"use strict";
function n(n, t) {
function e() {
h.state = m.context, h.portfolio = h.state.portfolio, h.fund = m.funds[h.portfolio.fund], h.isWizardFinished = !m.wizards.shouldOpen2, h.isChatting = !0, h.messageIndex = 0, i(), a()
}
function o() {}
function i() {
h.simulation = {};
var n = 12 * h.portfolio.goalDuration;
h.simulation.futureValue = warren.finance.futureValue(h.portfolio.initialInvestment, n, h.fund.avgMonthlyInterestRate, h.portfolio.monthlyInvestment), h.simulation.futureValueMin = warren.finance.futureValue(h.portfolio.initialInvestment, n, h.fund.minMonthlyInterestRate, h.portfolio.monthlyInvestment), h.simulation.futureValueMax = warren.finance.futureValue(h.portfolio.initialInvestment, n, h.fund.maxMonthlyInterestRate, h.portfolio.monthlyInvestment), h.simulation.futureSavings = warren.finance.futureValue(h.portfolio.initialInvestment, n, .0061, h.portfolio.monthlyInvestment)
}
function a() {
h.allocations = h.fund.allocations.slice(), h.allocations.sort(function(n, t) {
return t.allocValue - n.allocValue
})
}
function r() {
h.messageIndex += 1, h.messageIndex >= h.state.messages.length && (h.isChatting = !1)
}
function u() {
h.isWizardFinished = !0, t(function() {
m.wizards.shouldOpen2 = !1
}, 600)
}
function l(n) {
return n.replace(/\\n/g, "<br>")
}
function s() {
m.toPage("chat")
}
function f() {
var n = h.portfolio.fund,
t = Object.keys(m.funds);
return ["Conservador", "Conservador-moderado", "Moderado", "Moderado-arrojado", "Arrojado"][t.indexOf(n)]
}
function d() {
return h.simulation.futureValue >= h.portfolio.goalAmount
}
function c() {
switch (h.portfolio.fund) {
case "FWRF1":
return "Fundo Warren Renda Fixa 1";
case "FWMM1":
return "Fundo Warren Multimercado 1";
case "FWMM2":
return "Fundo Warren Multimercado 2";
case "FWMM3":
return "Fundo Warren Multimercado 3";
case "FWMM4":
return "Fundo Warren Multimercado 4"
}
}
n.$on("$destroy", o);
var m = n.$parent.c_builder,
h = this;
h.parent = m, h.state = null, h.fund = null, h.portfolio = null, h.allocations = null, h.messageIndex = null, h.isChatting = null, h.simulation = null, h.isWizardFinished = null, h.finishWizard = u, h.finishChat = r, h.filterMessage = l, h.back = s, h.getRiskName = f, h.withinGoal = d, h.fundName = c, e()
}
n.$inject = ["$scope", "$timeout"], warren.angular.controller("warren.pages.builder.summary", n)
}();
! function() {
"use strict";
function r() {
return {
scope: {},
templateUrl: "app/pages/dash/blocks/startregisterfaq.template.html",
controller: t,
controllerAs: "c_startregisterfaq"
}
}
function t(r, t, e, n, a, s) {
function i() {}
i()
}
angular.module("warren.pages.startregisterfaq", []).controller("warrenStartRegisterFaqController", t).directive("warrenStartRegisterFaq", r), r.$inject = [], t.$inject = ["wrnPath", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnHistory", "wrnSession"]
}();
! function() {
"use strict";
function e() {
return {
scope: {},
templateUrl: "app/pages/home/teaser/teaser.template.html",
controller: t,
controllerAs: "c_teaser"
}
}
function t(e, t, r, n, o, a, s, i) {
function c() {
var e = t.affiliate;
if (e) {
i.referral(e);
try {
r.event("invitee", "viewHome", "teaser", "1")
} catch (e) {}
}
try {
r.pageView("teaser")
} catch (e) {}
}
function l() {
var t = 500,
r = 500,
n = 500;
e(function() {
u.showSubtitle = !0, e(function() {
u.showButton = !0, e(function() {
u.showLogo = !0
}, n)
}, r)
}, t)
}
var u = this;
u.showSubtitle = !1, u.showButton = !1, u.showLogo = !1, u.onAfterText = l, c()
}
angular.module("warren.pages.teaser", []).controller("warrenTeaserController", t).directive("warrenTeaser", e), e.$inject = [], t.$inject = ["$timeout", "$stateParams", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnHistory", "wrnSession", "waitlist"]
}();
! function() {
"use strict";
function e() {
return {
scope: {},
templateUrl: "app/pages/line/blocks/lineplace.template.html",
controller: n,
controllerAs: "c_lineplace"
}
}
function n(e, n, i, o, t, r, a, s, c, l) {
function p() {
if (d(), s.reserved()) {
var e = s.reservation().reservation;
m.position = e.position, m.affiliate = e.affiliate, m.url += m.affiliate
}
try {
n.pageView("lineplace")
} catch (e) {}
}
function f() {
return c.isSupported()
}
function u() {
var e = m.url;
c.copy(e), o.info("link copiado!", {
raw: !0
})
}
function h() {
return encodeURIComponent(m.url)
}
function w(e) {
n.event("fila", "share", e, "1")
}
function v() {
m.chatFinished = !0
}
function d() {
a.isEmpty("accounts.accessToken") ? (m.position = "Oops", m.affiliate = "oops") : l.all([i.getCurrent()]).then(function(e) {
m.user = e[0], m.position || g()
}, function(e) {
console.error(e)
})
}
function g() {
m.processingReserve = !0, s.config(m.user.name, m.user.email), s.position().then(function(e) {
m.position = e.reservation.position, m.affiliate = e.reservation.affiliate, m.url += m.affiliate, m.processingReserve = !1
}, function(e) {
m.position = "Oops", m.affiliate = "oops", m.processingReserve = !1, o.error(e, {
raw: !0
})
})
}
var m = this;
m.url = "https://oiwarren.com/#/?affiliate=", m.chatFinished = !1, m.canShowCopy = f, m.doCopy = u, m.encodedUrl = h, m.analytics = w, m.finishChat = v, p()
}
angular.module("warren.pages.lineplace", []).controller("warrenLineplaceController", n).directive("warrenLineplace", e), e.$inject = [], n.$inject = ["$state", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnPath", "wrnHistory", "wrnSession", "waitlist", "wrnClipboard", "$q"]
}();
! function() {
"use strict";
function e() {
return {
scope: {},
templateUrl: "app/pages/line/blocks/lineregister.template.html",
controller: r,
controllerAs: "c_lineregister"
}
}
function r(e, r, n, i, t, a, s, l) {
function o() {
g.data.name = r.name, g.data.email = r.email;
try {
n.pageView("lineregister")
} catch (e) {}
}
function c() {
g.processingReserve = !0;
var r = g.data.name,
i = g.data.email;
l.config(r, i), l.reserve().then(function(i) {
g.processingReserve = !1, e.go("lineplace"), l.affiliate() && (n.track(null, "Waitlist Inserted", {
name: r
}), n.event("invitee", "enteredTheLine", "profile", "1"))
}, function(r) {
404 == r ? l.position().then(function(r) {
g.processingReserve = !1, e.go("lineplace")
}, function(e) {
g.processingReserve = !1, t.error(e, {
raw: !0
})
}) : (g.processingReserve = !1, t.error(r, {
raw: !0
}))
})
}
var g = this;
g.processingReserve = !1, g.data = {
name: null,
email: null
}, g.waitlistReservation = c, o()
}
angular.module("warren.pages.lineregister", []).controller("warrenLineregisterController", r).directive("warrenLineregister", e), e.$inject = [], r.$inject = ["$state", "$stateParams", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnHistory", "wrnSession", "waitlist"]
}();
! function() {
"use strict";
function a() {
return {
templateUrl: "app/pages/loseometer/blocks/loseometer.result.html",
controller: t,
controllerAs: "c_loseometerResult"
}
}
function t(a, t, e, n, r, o, s) {
function l() {
w.data.salary <= 3e3 ? w.data.initialInvestment = 5e3 : w.data.initialInvestment = 1e4, w.data.monthlyInvestment = .1 * w.data.salary, w.updateInfo();
try {
e.pageView("loseometerResult")
} catch (a) {}
}
function i() {
w.isStarted = !0
}
function u() {
wrnSmoothScroll.toPosition(1e5, 0)
}
function d(a, t) {
var e = w.data[a],
n = e + (t || 0);
n >= 0 && (w.data[a] = n, c())
}
function c() {
w.data.wage = w.data.salary / w.data.workHoursPerMonth, w.data.totalSavings = warren.finance.futureValue(w.data.initialInvestment, 12 * w.data.goalYears, w.benchmarks.savings, w.data.monthlyInvestment), w.data.totalWarren = warren.finance.futureValue(w.data.initialInvestment, 12 * w.data.goalYears, w.benchmarks.warren, w.data.monthlyInvestment), w.data.lostMoney = w.data.totalWarren - w.data.totalSavings;
var a = w.data.lostMoney / w.data.wage;
w.data.hours = Math.floor(a)
}
function m() {
a.go("suitability")
}
var w = this;
w.data = {
salary: t.salary || 3e3,
workHoursPerMonth: 180,
goalYears: 10,
hours: 8
}, w.benchmarks = {
savings: .0061,
warren: .009435
}, w.start = i, w.scroll = u, w.updateInfo = c, w.updateValue = d, w.goSuita = m, l()
}
angular.module("warren.pages.loseometerResult", []).controller("warrenLoseometerResultController", t).directive("warrenLoseometerResult", a), a.$inject = [], t.$inject = ["$state", "$stateParams", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnHistory", "wrnSession"]
}();
! function() {
"use strict";
function e(e, o, n, t, i, r, c) {
function s(r, s, a, p) {
function d(e) {
for (var o = r.c_portfolio._pendingTransactions, n = 0; n < o.length; n++) o[n]._id === e && r.c_portfolio._pendingTransactions.splice(n, 1);
r.c_portfolio.reload()
}
var l = a.id;
if (r.isLoading = !0, r.sendingEmail = null, r.$parent.c_portfolio) {
r.portfolio = r.$parent.c_portfolio.portfolio;
for (var f = 0; f < r.$parent.c_portfolio._pendingTransactions.length; f++)
if (r.$parent.c_portfolio._pendingTransactions[f]._id == l) {
r.deposit = r.$parent.c_portfolio._pendingTransactions[f];
break
}
}
r.portfolio && r.deposit ? r.isLoading = !1 : e.getDepositById(l).then(function(e) {
r.deposit = e, o.getById(e.toPortfolio).then(function(e) {
r.isLoading = !1, r.portfolio = e
}, function(e) {
console.error(e)
})
}, function(e) {
console.error(e)
}), r.canShowCopy = function() {
return n.isSupported()
}, r.doCopy = function(e, o) {
"CNPJ copiado" == o && (e = e.replace(/[-\/.]/g, "")), n.copy(e), t.info(o, {
raw: !0
})
}, r.getBankImg = function(e) {
return warren.enums.BankImages[e] || warren.enums.BankImages.other
}, r.print = function(e) {
var o = window.open("", "PRINT"),
n = document.getElementById(e),
t = c.stylesheets;
o.document.write("<html><head><title>Informações para transferência</title>"), o.document.write('<link rel="stylesheet" href="/assets/css/' + t.app + '" type="text/css" />'), o.document.write('<link rel="stylesheet" href="/assets/css/' + t.vendor + '" type="text/css" />'), o.document.write("</head><body >"), o.document.write(n.innerHTML), o.document.write("</body></html>"), o.document.getElementById("copyCNPJ").remove(), o.document.getElementById("copyAgency").remove(), o.document.getElementById("copyAccount").remove(), o.document.getElementById("copyBeneficiary").remove(), o.document.getElementById("cancelDeposit").remove(), setTimeout(function() {
o.print(), o.close()
}, 300)
}, r.doEmail = function(o) {
r.sendingEmail = !0, e.sendDepositByEmail(o).then(function() {
r.sendingEmail = !1
}, function(e) {
t.error(e.message)
})
}, r.cancelDeposit = function() {
r.deposit.isPending ? i.confirm("Cancelar Depósito?", "Tem certeza que deseja cancelar este depósito? Essa ação não pode ser revertida.", {
textCancel: "Não",
textOk: "Sim"
}).then(function(o) {
"ok" === o && e.cancelDeposit(r.deposit._id).then(function(e) {
d(e._id), t.success("Depósito cancelado com sucesso!", {
raw: !0
})
}, function(e) {
t.error(e.message)
})
}) : t.info("Depósito já processado, não pode ser cancelado", {
raw: !0
})
}
}
return {
restrict: "E",
link: s,
templateUrl: "app/pages/portfolio/directives/deposit.template.html"
}
}
e.$inject = ["wrnTransaction", "wrnPortfolio", "wrnClipboard", "wrnFlash", "wrnDialog", "$window", "config"], angular.module("warren.pages.portfolio.directives.deposit", []).directive("wrnPortfolioDeposit", e)
}();
! function() {
"use strict";
function o(o, n, i, e, r) {
function t(t, c, a, l) {
function s(o) {
for (var n = t.c_portfolio._pendingTransactions, i = 0; i < n.length; i++) n[i]._id === o && t.c_portfolio._pendingTransactions.splice(i, 1);
t.c_portfolio.reload()
}
var p = a.id;
if (t.isLoading = !0, t.isSendingEmail = null, t.invoice = null, t.portfolio = null, t.$parent.c_portfolio) {
t.portfolio = t.$parent.c_portfolio.portfolio;
for (var d = 0; d < t.$parent.c_portfolio._pendingTransactions.length; d++)
if (t.$parent.c_portfolio._pendingTransactions[d]._id == p) {
t.invoice = t.$parent.c_portfolio._pendingTransactions[d];
break
}
}
t.portfolio && t.invoice ? t.isLoading = !1 : o.getInvoiceById(p).then(function(o) {
t.invoice = o, n.getById(o.toPortfolio).then(function(o) {
t.isLoading = !1, t.portfolio = o
}, function(o) {
console.error(o)
})
}, function(o) {
console.error(o)
}), t.canShowCopy = function() {
return i.isSupported()
}, t.doCopy = function() {
var o = t.invoice.barCodeString;
o = o.replace(/\./g, "").replace(/\s/g, ""), i.copy(o), e.info("Código de barras copiado", {
raw: !0
})
}, t.doEmail = function() {
t.isSendingEmail = !0, o.sendInvoiceByEmail(t.invoice._id).then(function() {
t.isSendingEmail = !1
})
}, t.cancelInvoice = function() {
t.invoice.isPending ? r.confirm("Cancelar Boleto?", "Tem certeza que deseja cancelar este boleto? Essa ação não pode ser revertida.", {
textCancel: "Não",
textOk: "Sim"
}).then(function(n) {
"ok" === n && o.cancelInvoice(t.invoice._id).then(function(o) {
s(o._id), e.success("Boleto cancelado com sucesso!", {
raw: !0
})
}, function(o) {
e.error(o.message)
})
}) : e.info("Depósito já processado, não pode ser cancelado", {
raw: !0
})
}
}
return {
restrict: "E",
link: t,
templateUrl: "app/pages/portfolio/directives/invoice.template.html"
}
}
angular.module("warren.pages.portfolio.directives.invoice", []).directive("wrnPortfolioInvoice", o), o.$inject = ["wrnTransaction", "wrnPortfolio", "wrnClipboard", "wrnFlash", "wrnDialog"]
}();
! function() {
"use strict";
function o(o, t, e) {
function n(o, n, r) {
function i(n, r, a) {
o.isLoading = !r, o.isLoadingMore = !!r, a || r || (o.notFound = !1);
var p = r ? 20 : 19;
e.searchPhotos(n, r, p).then(function(t) {
t.photos.length ? (o.photos = r ? o.photos.concat(t.photos) : t.photos, o.pagination = {
first: t.first,
prev: t.prev,
next: t.next,
last: t.last
}, o.isLoading = !1, o.isLoadingMore = !1) : a || (o.photos = [], o.notFound = !0, i("", 1, !0))
}, function(e) {
t.error(e.message), o.isLoading = !1, o.isLoadingMore = !1
})
}
function a() {
o.pagination && o.pagination.next && (o.notFound ? i(null, o.pagination.next) : i(o.query, o.pagination.next))
}
function p(n) {
n && n.urls || (n = {
urls: {}
}), o.$parent.c_portfolio && (o.$parent.c_portfolio.hasBackground = !!n.urls.full);
var r = document.getElementById("portfolio-background"),
i = document.getElementById("portfolio-background-mobile");
r.style.backgroundImage = "url('" + n.urls.full + "')", i.style.backgroundImage = "url('" + n.urls.regular + "')", e.updateBackground(o.portfolio._id, n.urls).then(function(o) {}, function(o) {
t.error(o.message)
})
}
o.isLoading = !0, o.isLoadingMore = !1, o.searchPhotos = i, o.selectBackground = p, o.photos = [], o.$parent.c_edit ? (o.portfolio = o.$parent.c_edit.portfolio, o.$parent.c_edit.morePhotos = a) : o.$parent.c_editgroup && (o.portfolio = o.$parent.c_editgroup.portfolio, o.$parent.c_editgroup.morePhotos = a), i(), o.back = function(t) {
o.$parent.c_edit && (o.$parent.c_edit.selectBackground = !1, t && o.$parent.c_edit.refreshPortfolioData()), o.$parent.c_editgroup && (o.$parent.c_editgroup.selectBackground = !1, t && o.$parent.c_editgroup.refreshPortfolioData()), t && o.$parent.c_portfolio && o.$parent.c_portfolio.toggleEditPanel()
}
}
return {
scope: {
closeFn: "&"
},
templateUrl: "app/pages/portfolio/directives/photos.template.html",
link: n
}
}
o.$inject = ["$window", "wrnFlash", "wrnPortfolio"], angular.module("warren.pages.portfolio.directives.photos", []).directive("wrnPhotos", o)
}();
! function() {
"use strict";
function n(n, o, t, r, e, a, i) {
function c(r, c, s, u) {
function f(o) {
return n(function(n, e) {
t.getById(o).then(function(o) {
r.portfolio = o, n()
}, function(n) {
e(n)
})
})
}
function l(o) {
return n(function(n, t) {
e.getBankAccount(o).then(function(o) {
r.account = o, n()
}, function(n) {
t(n)
})
})
}
function d(n) {
for (var o = r.c_portfolio._pendingTransactions, t = 0; t < o.length; t++) o[t]._id === n && r.c_portfolio._pendingTransactions.splice(t, 1)
}
var p = s.id;
if (r.isLoading = !0, r.withdraw = null, r.portfolio = null, r.account = null, r.$parent.c_portfolio) {
r.portfolio = r.$parent.c_portfolio.portfolio;
for (var w = 0; w < r.$parent.c_portfolio._pendingTransactions.length; w++)
if (r.$parent.c_portfolio._pendingTransactions[w]._id == p) {
r.withdraw = r.$parent.c_portfolio._pendingTransactions[w];
break
}
for (var w = 0; w < r.$parent.c_portfolio.user.bankAccounts.length; w++)
if (r.withdraw && r.$parent.c_portfolio.user.bankAccounts[w]._id == r.withdraw.toAccount) {
r.account = r.$parent.c_portfolio.user.bankAccounts[w];
break
}
}
r.portfolio && r.withdraw && r.account ? r.isLoading = !1 : o.getWithdrawById(p).then(function(o) {
r.withdraw = o, n.all([f(o.fromPortfolio), l(o.toAccount)]).then(function() {
r.isLoading = !1
})
}, function(n) {
console.error(n)
}), r.cancelWithdraw = function() {
r.withdraw.isPending ? a.confirm("Cancelar Resgate?", "Tem certeza que deseja cancelar este resgate? Essa ação não pode ser revertida.", {
textCancel: "Não",
textOk: "Sim"
}).then(function(n) {
"ok" === n && o.cancelWithdraw(r.withdraw._id).then(function(n) {
d(n._id), i.success("Resgate cancelado com sucesso!", {
raw: !0
})
}, function(n) {
i.error(n.message)
})
}) : i.info("Resgate já processado, não pode ser cancelado", {
raw: !0
})
}, r.getBankImg = function(n) {
return warren.enums.BankImages[n] || warren.enums.BankImages.other
}, r.getBankName = function() {
return warren.enums.Bank[r.account.bank]
}
}
return {
restrict: "E",
link: c,
templateUrl: "app/pages/portfolio/directives/withdraw.template.html"
}
}
angular.module("warren.pages.portfolio.directives.withdraw", []).directive("wrnPortfolioWithdraw", n), n.$inject = ["$q", "wrnTransaction", "wrnPortfolio", "wrnClipboard", "wrnUser", "wrnDialog", "wrnFlash"]
}();
! function() {
"use strict";
function t() {
return {
templateUrl: "app/pages/portfolio/pages/edit.template.html",
controller: a,
controllerAs: "c_edit"
}
}
function a(t, a, e, o, n, i, l) {
function r() {
D = t.$parent.c_portfolio, A.fundInterest = m(), A.portfolio = D.portfolio;
i(D.createdAt);
d(), I({
emergency: 0,
monthly_income: 1,
target: 2,
free: 3
}[A.portfolio.goal])
}
function d() {
A.data = {
name: D.portfolio.name,
goal: D.portfolio.goal,
goalAmount: D.portfolio.goalAmount,
goalYears: D.portfolio.goalDuration,
goalMonthlyIncome: D.portfolio.goalMonthlyIncome,
initialInvestment: D.portfolio.initialInvestment,
monthlyInvestment: D.portfolio.monthlyInvestment,
investReminderDay: D.portfolio.investReminderDay,
group: D.portfolio.group,
isShared: D.portfolio.isShared,
skipInvestReminder: "undefined" != typeof D.portfolio.skipInvestReminder && null !== D.portfolio.skipInvestReminder && D.portfolio.skipInvestReminder
}, A.data.goalMonthlyIncome ? _ = A.data.goalMonthlyIncome : (A.data.goalMonthlyIncome = 100, _ = A.data.goalMonthlyIncome), A.data.goalAmount ? M = A.data.goalAmount : (A.data.goalAmount = 1e3, M = A.data.goalAmount), I({
emergency: 0,
monthly_income: 1,
target: 2,
free: 3
}[A.data.goal])
}
function m() {
var t = D.findFundByApiId("FWRF1");
return t.avgMonthlyInterestRate
}
function s(t, a, e) {
return Math.round(t / Math.pow(1 + a, e))
}
function g(t, a) {
"undefined" != typeof t && (A.data.goalMonthlyIncome += parseInt(t)), A.data.goalMonthlyIncome || (A.data.goalMonthlyIncome = 100), A.data.goalMonthlyIncome = Math.max(A.data.goalMonthlyIncome, 100);
var e = l.getValue("builder_interest_inflation_year"),
o = Math.round(warren.finance.futureValue(A.data.goalMonthlyIncome, A.data.goalYears, e) / A.fundInterest) * A.fundInterest;
a || (A.data.goalAmount = Math.round(o / A.fundInterest));
var n = A.data.goalAmount,
i = 10,
r = n % i;
0 !== r && (n += i - r), A.data.goalAmount = n, _ = A.data.goalMonthlyIncome
}
function u(t) {
"undefined" != typeof t && (A.data.goalAmount += t), A.data.goalAmount || (A.data.goalAmount = 1e3), A.data.goalAmount = Math.max(A.data.goalAmount, 1e3), "monthly_income" === A.data.goal ? (A.data.goalMonthlyIncome = (A.data.goalAmount * A.fundInterest).toFixed(0), A.data.goalMonthlyIncome = s(A.data.goalMonthlyIncome, l.getValue("builder_interest_inflation_year"), A.data.goalYears)) : M = A.data.goalAmount
}
function f(t) {
"undefined" != typeof t && (A.data.goalYears += t), A.data.goalYears || (A.data.goalYears = 1), A.data.goalYears = parseInt(A.data.goalYears), A.data.goalYears = warren.utils.clamp(A.data.goalYears, 1, 60), "monthly_income" == A.data.goal && g(void 0, !0)
}
function c(t) {
A.data.monthlyInvestment || (A.data.monthlyInvestment = 0), "undefined" != typeof t && (50 === t && 0 === A.data.monthlyInvestment ? A.data.monthlyInvestment += 2 * t : A.data.monthlyInvestment += t), A.data.monthlyInvestment <= 50 ? A.data.monthlyInvestment = 0 : A.data.monthlyInvestment < 100 && (A.data.monthlyInvestment = 100), A.data.monthlyInvestment = parseInt(A.data.monthlyInvestment)
}
function y(t) {
A.data.investReminderDay || (A.data.investReminderDay = 0), "undefined" != typeof t && (A.data.investReminderDay += t), A.data.investReminderDay > 28 ? A.data.investReminderDay = 1 : A.data.investReminderDay < 1 && (A.data.investReminderDay = 28), A.data.investReminderDay = parseInt(A.data.investReminderDay)
}
function p() {
u(), f(), c(), A.data.goalDuration = A.data.goalYears;
var t = (new Date).getDate();
t > 28 && (t = 28), A.portfolio.investReminderDay !== A.data.investReminderDay && A.data.investReminderDay > t && !A.portfolio.isVirtual ? n.confirm("Lembrete de investimento mensal", "Gostaria de receber o lembrete neste mês ou no próximo?", {
textCancel: "Neste mês",
textOk: "Próximo mês"
}).then(function(t) {
"ok" === t ? (A.data.skipInvestReminder = !0, v()) : (A.data.skipInvestReminder = !1, v())
}) : (A.portfolio.investReminderDay !== A.data.investReminderDay && (A.data.skipInvestReminder = !1), v())
}
function v() {
A.saving = !0, e.update(A.portfolio._id, A.data).then(function() {
a.reload(), o.success("Objetivo atualizado", {
raw: !0
})
}, function(t) {
A.saving = !1, o.error(t.message)
})
}
function h() {
n.confirm("Deletar objetivo?", "Tem certeza que deseja deletar este objetivo? Essa ação não pode ser revertida.", {
textCancel: "Cancelar",
textOk: "Deletar"
}).then(function(t) {
"ok" === t && (A.saving = !0, e.remove(A.portfolio._id).then(function() {
a.go("dash"), o.success("Objetivo deletado", {
raw: !0
})
}, function(t) {
A.saving = !1, o.error(t.message)
}))
})
}
function I(t) {
A.data.goal = ["emergency", "monthly_income", "target", "free"][t], A.info = {
id: t,
image: t + 1,
title: "builder_step1_" + A.data.goal + "_title1",
description: "builder_step1_" + A.data.goal + "_description1"
}, "monthly_income" == A.data.goal ? g(void 0, A.portfolio.goal === A.data.goal) : M && (A.data.goalAmount = M)
}
function R(t) {
var a = A.info.id;
"next" === t ? a = 3 === a ? 0 : a + 1 : "prev" === t && (a = 0 === a ? 3 : a - 1), I(a)
}
var D, M, _, A = this;
A.data = null, A.info = null, A.saving = !1, A.changeGoalAmount = u, A.changeGoalYears = f, A.changeMonthlyInvestment = c, A.changeGoalMonthlyIncome = g, A.changeInvestReminderDay = y, A.save = p, A.remove = h, A.updateGoal = I, A.refreshPortfolioData = d, A.changeGoal = R, r()
}
a.$inject = ["$scope", "$state", "wrnPortfolio", "wrnFlash", "wrnDialog", "moment", "wrnResources"], angular.module("warren.pages.portfolio.edit", []).controller("warrenPortfolioEditController", a).directive("warrenPortfolioEdit", t), t.$inject = []
}();
! function() {
"use strict";
function t() {
return {
templateUrl: "app/pages/portfolio/pages/editGroup.template.html",
controller: o,
controllerAs: "c_editgroup"
}
}
function o(t, o, a, n, e, r, l) {
function i() {
A = t.$parent.c_portfolio, G.fundInterest = g(), G.portfolio = A.portfolio;
r(A.createdAt);
d(), u(), M({
emergency: 0,
monthly_income: 1,
target: 2,
free: 3
}[G.portfolio.goal])
}
function u() {
for (var t = A.portfolio.group.members, o = G.data.monthlyInvestment, a = 0; a < t.length; a++) o += t[a].monthlyInvestment || 0;
G.monthlyInvestmentMin = o >= A.portfolio.group.monthlyInvestment
}
function d() {
G.data = {
portfolioId: A.portfolio._id,
group: A.portfolio.group,
initialInvestment: A.portfolio.initialInvestment,
monthlyInvestment: A.portfolio.monthlyInvestment,
investReminderDay: A.portfolio.investReminderDay
}, G.data.group.goalMonthlyIncome ? w = G.data.group.goalMonthlyIncome : (G.data.group.goalMonthlyIncome = 100, w = G.data.group.goalMonthlyIncome), G.data.group.goalAmount ? R = G.data.group.goalAmount : (G.data.group.goalAmount = 1e3, R = G.data.group.goalAmount), M({
emergency: 0,
monthly_income: 1,
target: 2,
free: 3
}[G.data.group.goal])
}
function g() {
var t = A.findFundByApiId("FWRF1");
return t.avgMonthlyInterestRate
}
function m(t, o, a) {
return Math.round(t / Math.pow(1 + o, a))
}
function p(t, o) {
"undefined" != typeof t && (G.data.group.goalMonthlyIncome += parseInt(t)), G.data.group.goalMonthlyIncome || (G.data.group.goalMonthlyIncome = 100), G.data.group.goalMonthlyIncome = Math.max(G.data.group.goalMonthlyIncome, 100);
var a = l.getValue("builder_interest_inflation_year"),
n = Math.round(warren.finance.futureValue(G.data.group.goalMonthlyIncome, G.data.group.goalDuration, a) / G.fundInterest) * G.fundInterest;
o || (G.data.group.goalAmount = Math.round(n / G.fundInterest));
var e = G.data.group.goalAmount,
r = 10,
i = e % r;
0 !== i && (e += r - i), G.data.group.goalAmount = e, w = G.data.group.goalMonthlyIncome
}
function s(t) {
"undefined" != typeof t && (G.data.group.goalAmount += t), G.data.group.goalAmount || (G.data.group.goalAmount = 1e3), G.data.group.goalAmount = Math.max(G.data.group.goalAmount, 1e3), "monthly_income" === G.data.group.goal ? (G.data.group.goalMonthlyIncome = (G.data.group.goalAmount * G.fundInterest).toFixed(0), G.data.group.goalMonthlyIncome = m(G.data.group.goalMonthlyIncome, l.getValue("builder_interest_inflation_year"), G.data.group.goalDuration)) : R = G.data.group.goalAmount
}
function c(t) {
"undefined" != typeof t && (G.data.group.goalDuration += t), G.data.group.goalDuration || (G.data.group.goalDuration = 1), G.data.group.goalDuration = parseInt(G.data.group.goalDuration), G.data.group.goalDuration = warren.utils.clamp(G.data.group.goalDuration, 1, 60), "monthly_income" == G.data.group.goal && p(void 0, !0)
}
function f(t) {
G.data.monthlyInvestment || (G.data.monthlyInvestment = 0), "undefined" != typeof t && (50 === t && 0 === G.data.monthlyInvestment ? G.data.monthlyInvestment += 2 * t : G.data.monthlyInvestment += t), G.data.monthlyInvestment <= 50 ? G.data.monthlyInvestment = 0 : G.data.monthlyInvestment < 100 && (G.data.monthlyInvestment = 100), G.data.monthlyInvestment = parseInt(G.data.monthlyInvestment), u()
}
function y(t) {
G.data.group.monthlyInvestment || (G.data.group.monthlyInvestment = 0), "undefined" != typeof t && (50 === t && 0 === G.data.group.monthlyInvestment ? G.data.group.monthlyInvestment += 2 * t : G.data.group.monthlyInvestment += t), G.data.group.monthlyInvestment <= 50 ? G.data.group.monthlyInvestment = 0 : G.data.group.monthlyInvestment < 100 && (G.data.group.monthlyInvestment = 100), G.data.group.monthlyInvestment = parseInt(G.data.group.monthlyInvestment), u()
}
function h(t) {
G.data.investReminderDay || (G.data.investReminderDay = 0), "undefined" != typeof t && (G.data.investReminderDay += t), G.data.investReminderDay > 28 ? G.data.investReminderDay = 1 : G.data.investReminderDay < 1 && (G.data.investReminderDay = 28), G.data.investReminderDay = parseInt(G.data.investReminderDay)
}
function v() {
s(), c(), f(), G.data.group.skipInvestReminder = !1, G.data.group.goalDuration = G.data.group.goalDuration;
var t = (new Date).getDate();
t > 28 && (t = 28), G.portfolio.investReminderDay != G.data.investReminderDay && G.data.investReminderDay > t && !G.portfolio.isVirtual ? e.confirm("Lembrete de investimento mensal", "Gostaria de receber o lembrete neste mês ou no próximo?", {
textCancel: "Neste mês",
textOk: "Próximo mês"
}).then(function(t) {
"ok" === t ? (G.data.group.skipInvestReminder = !0, I()) : I()
}) : I()
}
function I() {
G.saving = !0, a.update(G.portfolio._id, G.data).then(function() {
G.portfolio.isAdmin ? D(function(t) {
G.saving = !1, t || n.success("Objetivo atualizado", {
raw: !0
})
}) : (G.saving = !1, o.reload(), n.success("Objetivo atualizado", {
raw: !0
}))
}, function(t) {
G.saving = !1, n.error(t.message)
})
}
function D(t) {
a.editGroup(G.data.group._id, G.data).then(function() {
o.reload(), t(null)
}, function(o) {
n.error(o.message), t(o)
})
}
function M(t) {
G.data.group.goal = ["emergency", "monthly_income", "target", "free"][t], G.info = {
id: t,
image: t + 1,
title: "builder_step1_" + G.data.group.goal + "_title1",
description: "builder_step1_" + G.data.group.goal + "_description1"
}, "monthly_income" == G.data.group.goal ? p(void 0, G.portfolio.goal === G.data.group.goal) : R && (G.data.group.goalAmount = R)
}
function _(t) {
var o = G.info.id;
"next" === t ? o = 3 === o ? 0 : o + 1 : "prev" === t && (o = 0 === o ? 3 : o - 1), M(o)
}
var A, R, w, G = this;
G.data = null, G.info = null, G.saving = !1, G.changeGoalAmount = s, G.changeGoalDuration = c, G.changeMonthlyInvestment = f, G.changeGroupMonthlyInvestment = y, G.changeGoalMonthlyIncome = p, G.changeInvestReminderDay = h, G.save = v, G.updateGoal = M, G.refreshPortfolioData = d, G.changeGoal = _, G.selectBackground = !1, i()
}
o.$inject = ["$scope", "$state", "wrnPortfolio", "wrnFlash", "wrnDialog", "moment", "wrnResources"], angular.module("warren.pages.portfolio.editgroup", []).controller("warrenPortfolioEditGroupController", o).directive("warrenPortfolioEditGroup", t), t.$inject = []
}();
! function() {
"use strict";
function i() {
return {
templateUrl: "app/pages/portfoliogroup/pages/invites.template.html",
controller: o,
controllerAs: "c_groupinvites"
}
}
function o(i, o, r, t, e, n) {
function l() {
return o.id ? (f.id = o.id, void t.getById(f.id).then(function(i) {
f.portfolio = i;
var o = 1;
u(o), f.loading = !1
}, function(i) {
r.go("404")
})) : void r.go("404")
}
function s() {
var i = n.getValue("portfolios_group_limit");
try {
if (f.invites.length + f.portfolio.group.members.length >= i) return void e.error("error_portfolio_group_is_full")
} catch (i) {}
f.invites.push({
email: "",
isAdmin: !0
}), f.lastInput = f.invites.length - 1
}
function a() {
for (var i = [], o = 0; o < f.invites.length; o++) f.invites[o].email && i.push(f.invites[o]);
return 0 == i.length ? e.error("Você deve incluir ao menos um e-mail!", {
raw: !0
}) : (f.saving = !0, void(f.portfolio.isShared ? t.invite({
portfolioId: f.id,
invites: i
}).then(function(i) {
r.go("portfolio", {
id: f.id
})
}, function(i) {
f.saving = !1, e.error(i.message)
}) : t.share({
portfolioId: f.id,
invites: i
}).then(function(i) {
r.go("portfolio", {
id: f.id
})
}, function(i) {
f.saving = !1, e.error(i.message)
})))
}
function u(i) {
for (var o = 0; o < i; o++) s()
}
var f = this;
f.sendInvites = a, f.loading = !0, f.addLine = s, f.invites = [], f.builder = o.builder, l()
}
o.$inject = ["$scope", "$stateParams", "$state", "wrnPortfolio", "wrnFlash", "wrnResources"], angular.module("warren.pages.portfoliogroupinvites", []).controller("warrenPortfolioGroupInvitesController", o).directive("warrenPortfolioGroupInvites", i), i.$inject = []
}();
! function() {
"use strict";
function t() {
return {
templateUrl: "app/pages/post/pages/posts.template.html",
controller: o,
controllerAs: "c_posts"
}
}
function o(t, o, n, e) {
function r() {
i.loading = !0, s()
}
function a(t) {
i.pagination = {
pages: t.pages,
totalPages: t.totalPages,
currentPage: t.currentPage,
previous: t.previous,
next: t.next,
last: t.totalPages,
total: t.total
}
}
function s(n) {
n !== !1 && (i.pagination && i.pagination.currentPage === n || t.all([o.getAll(n)]).then(function(t) {
i.posts = t[0].results, a(t[0]), i.loading = !1, e.toPosition(0)
}, function(t) {
console.error(t)
}))
}
function l(t) {
return t ? "ic_chevron_right_24px_black.svg" : "ic_chevron_right_24px_gray.svg"
}
var i = this;
i.getPosts = s, i.getChevronIcon = l, r()
}
o.$inject = ["$q", "wrnPost", "$state", "wrnSmoothScroll"], angular.module("warren.pages.posts", []).controller("warrenPostsController", o).directive("warrenPosts", t)
}();
! function() {
"use strict";
function e(e, t) {
function n(t, n, r) {
for (var i = n[0].getElementsByClassName("wrn-form-item"), a = function(e) {
e.style.opacity = 1
}, s = 0; s < i.length; s++) {
var c = i[s];
e(a, 50 * s, !0, c)
}
}
return {
restrict: "A",
link: n,
scope: !1
}
}
angular.module("warren.pages.register.directives.fadein", []).directive("wrnFadein", e), e.$inject = ["$timeout", "$parse"]
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/pages/register/steps/step1.template.html",
controller: r,
controllerAs: "c_step1"
}
}
function r(e, r, t, i, s, o) {
function n() {
p.user = t.getCurrent(!0)
}
function a(e) {
c = e
}
function l() {
p.started = !0, 1 === p.c_register.getTab() && (p.c_register.started = !0)
}
function u() {
if (c.$submitted = !0, !c.$valid) return void f();
var e = {
name: p.user.name,
personalProfile: {
fullName: p.user.personalProfile.fullName,
cpf: p.user.personalProfile.cpf,
birthDate: p.user.personalProfile.birthDate,
birthCity: p.user.personalProfile.birthCity,
birthState: p.user.personalProfile.birthState,
nationality: p.user.personalProfile.nationality,
sex: p.user.personalProfile.sex,
maritalStatus: p.user.personalProfile.maritalStatus,
partnerName: p.user.personalProfile.partnerName || void 0,
motherName: p.user.personalProfile.motherName,
profession: p.user.personalProfile.profession,
workOrganization: p.user.personalProfile.workOrganization,
education: p.user.personalProfile.education
}
};
p.c_register.isSaving = !0, i.toPosition(0), t.update(e).then(function(r) {
o.track(p.user, "Register Step 1", {
sex: e.sex,
birthDate: e.birthDate,
birthState: e.birthState,
profession: e.profession,
maritalStatus: e.maritalStatus
}), p.c_register.setTab(2), p.c_register.isSaving = !1
}, function(e) {
console.error(e);
var r = null;
if (e.errors) {
r = "<ul>";
for (var t = 0; t < e.errors.length; t++) r += "<li>" + e.errors[t].msg + "</li>";
r += "</ul>"
}
s.error(e.message, r), p.c_register.isSaving = !1
})
}
function f() {
function e(e, t) {
r(function() {
e.style.opacity = 1
}, t)
}
function t(e, t) {
r(function() {
e.style.opacity = 0
}, t)
}
for (var s in c) {
var o = c[s];
if (o && o.$invalid) {
var n = document.getElementById(o.$name),
a = warren.utils.getGlobalOffset(n);
i.toPosition(a.top - 100), t(n, 500), e(n, 800), t(n, 1e3), e(n, 1200), t(n, 1400), e(n, 1600);
break
}
}
}
var c = null,
p = this;
p.c_register = e.$parent.c_register, p.user = null, p.registerForm = a, p.submit = u, p.started = !1, p.start = l, n()
}
angular.module("warren.pages.register.step1", []).controller("warrenRegisterStep1Controller", r).directive("warrenRegisterStep1", e), e.$inject = [], r.$inject = ["$scope", "$timeout", "wrnUser", "wrnSmoothScroll", "wrnFlash", "wrnAnalytics"]
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/pages/register/steps/step2.template.html",
controller: r,
controllerAs: "c_step2"
}
}
function r(e, r, t, n, s, i) {
function o() {
f.user = t.getCurrent(!0)
}
function a(e) {
g = e
}
function l() {
f.started = !0
}
function c() {
if (g.$submitted = !0, !g.$valid) return void u();
var e = {
personalProfile: {
mobile: f.user.personalProfile.mobile
},
address: f.user.address
};
f.c_register.isSaving = !0, n.toPosition(0), t.update(e).then(function(r) {
i.track(f.user, "Register Step 2", {
state: e.address.state
}), f.c_register.setTab(3), f.c_register.isSaving = !1
}, function(e) {
console.error(e);
var r = null;
if (e.errors) {
r = "<ul>";
for (var t = 0; t < e.errors.length; t++) r += "<li>" + e.errors[t].msg + "</li>";
r += "</ul>"
}
s.error(e.message, r), f.c_register.isSaving = !1
})
}
function u() {
function e(e, t) {
r(function() {
e.style.opacity = 1
}, t)
}
function t(e, t) {
r(function() {
e.style.opacity = 0
}, t)
}
for (var s in g) {
var i = g[s];
if (i && i.$invalid) {
var o = document.getElementById(i.$name),
a = warren.utils.getGlobalOffset(o);
n.toPosition(a.top - 100), t(o, 500), e(o, 800), t(o, 1e3), e(o, 1200), t(o, 1400), e(o, 1600);
break
}
}
}
var g = null,
f = this;
f.c_register = e.$parent.c_register, f.user = null, f.registerForm = a, f.submit = c, f.started = !1, f.start = l, o()
}
angular.module("warren.pages.register.step2", []).controller("warrenRegisterStep2Controller", r).directive("warrenRegisterStep2", e), e.$inject = [], r.$inject = ["$scope", "$timeout", "wrnUser", "wrnSmoothScroll", "wrnFlash", "wrnAnalytics"]
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/pages/register/steps/step3.template.html",
controller: n,
controllerAs: "c_step3"
}
}
function n(e, n, r, t, o, i, s, c) {
function a() {
B.user = t.getCurrent(!0), B.user.verifyBankError = function(e) {
return B.bankaccountErrors.indexOf(e) >= 0
}
}
function u(e) {
$ = e
}
function l(e) {
y = e
}
function d() {
B.started = !0
}
function f() {
if ($.$submitted = !0, y.$submitted = !0, !$.$valid) return void p($);
if (!y.$valid) return void p(y);
var n = B.user.$pendingAddBankAccounts,
r = B.user.$pendingRemoveBankAccounts,
t = n && n.length || r && r.length || A(B.user.bankAccounts, B.user.$pendingBankAccounts),
i = B.user.$pendingBankAccounts;
h(i, t).then(function(n) {
if (!n) {
for (var r = (B.user.$pendingRemoveBankAccount, 0); r < B.user.$pendingBankAccounts.length; r++) {
var t = B.user.$pendingBankAccounts[r];
t.hasSecondHolder || (t.hasSecondHolder = !1, delete t.firstHolderCPF, delete t.firstHolderName)
}
B.user.bankAccounts = B.user.$pendingBankAccounts, B.c_register.isSaving = !0, o.toPosition(0), e.all([g(), m()])
}
})
}
function g() {
for (var n = [], r = B.user.$pendingRemoveBankAccounts || [], o = 0; o < r.length; o++) n.push(t.removeBankAccount(r[o]._id));
e.all(n).then(function(e) {
for (o = 0; o < r.length; o++)
for (var n = r[o], t = B.user.bankAccounts.lenght - 1; t >= 0; t--) {
var i = B.user.bankAccounts[t];
if (i._id === n._id) {
B.user.bankAccounts.splice(t, 1);
break
}
}
B.user.$pendingRemoveBankAccounts = []
}, function(e) {
i.error(e.message)
})
}
function m() {
var e = {
bankAccounts: B.user.bankAccounts,
investmentProfile: {
monthlyIncome: B.user.investmentProfile.monthlyIncome,
deposit: B.user.investmentProfile.deposit
}
};
t.update(e).then(function(n) {
s.track(B.user, "Register Step 3", {
bank: e.bankAccounts.map(function(e) {
return e.bank
}),
monthlyIncome: e.investmentProfile.monthlyIncome,
patrimony: e.investmentProfile.deposit
}), B.user.$pendingAddBankAccounts = [];
for (var r = 0; r < e.bankAccounts.length; r++)
for (var t = 0; t < B.user.$pendingBankAccounts.length; t++) {
var o = n.bankAccounts[r],
i = B.user.$pendingBankAccounts[t];
o.agency == i.agency && o.bank == i.bank && o.digit == i.digit && o.number == i.number && o.type == i.type && o.hasSecondHolder == i.hasSecondHolder && o.firstHolderCPF == i.firstHolderCPF && o.firstHolderName == i.firstHolderName && (i._id = o._id)
}
B.c_register.setTab(4), B.c_register.isSaving = !1
}, function(e) {
console.error(e);
var n = null;
if (e.errors) {
n = "<ul>";
for (var r = 0; r < e.errors.length; r++) n += "<li>" + e.errors[r].msg + "</li>";
n += "</ul>"
}
i.error(e.message, n), B.user.$pendingAddBankAccounts = [], B.c_register.isSaving = !1
})
}
function p(e) {
for (var n in e) {
var r = e[n];
if (r && r.$invalid) {
var t = document.getElementById(r.$name),
i = warren.utils.getGlobalOffset(t);
0 === i.top && r.$name.includes("billingbank") ? (t = document.getElementById(r.$name.replace("billingbank", "rowbank")), i = warren.utils.getGlobalOffset(t), o.toPosition(i.top - 100)) : (o.toPosition(i.top - 100), v(t));
break
}
}
}
function v(e) {
function n(e, n) {
r(function() {
e && (e.style.opacity = 1)
}, n)
}
function t(e, n) {
r(function() {
e && (e.style.opacity = 0)
}, n)
}
t(e, 500), n(e, 800), t(e, 1e3), n(e, 1200), t(e, 1400), n(e, 1600)
}
function h(n, r) {
var t = [],
o = 0;
return e(function(e, i) {
if (!r) return e(!1);
if (n) {
B.bankaccountErrors = [];
for (var s = 0; s < n.length; s++) b(n[s]).then(function(r) {
if (r.invalid && t.push({
index: o,
errors: r.errors
}), o++, s === n.length) return t.length ? (k(t), e(!0)) : e(!1)
}, function(r) {
if (s === n.length) return t.length ? (k(t), e(!0)) : e(!1)
})
}
})
}
function k(e) {
for (var n = [], r = 0; r < e.length; r++)
for (var t = 0; t < e[r].errors.length; t++) {
var i = e[r].errors[t].code + "_" + e[r].index,
s = document.getElementById(i);
B.bankaccountErrors.push(i), n.push(s)
}
if (n.length) {
for (var r = 0; r < n.length; r++) v(n[r]);
var c = warren.utils.getGlobalOffset(n[0]);
o.toPosition(c.top - 100)
}
}
function b(n) {
return e(function(e, r) {
return c.BankAccount ? void c.BankAccount.validate({
bankNumber: n.bank,
agencyNumber: n.agency,
agencyCheckNumber: "",
accountNumber: n.number,
accountCheckNumber: n.digit,
valid: function() {
return e({
invalid: !1
})
},
invalid: function(n) {
if (!n) return e({
invalid: !0
});
if (1 === n.errors.length && "INVALID_AGENCY_CHECK_NUMBER" === n.errors[0].code) return e({
invalid: !1
});
if (n.errors.length)
for (var r = 0; r < n.errors.length; r++) "INVALID_AGENCY_CHECK_NUMBER" === n.errors[r].code && n.errors.splice(r, 1);
return e({
invalid: !0,
errors: n.errors
})
}
}) : r("moip_isnt_available")
})
}
function A(e, n) {
for (var r = [], t = 0; t < n.length; t++) r[t] = JSON.parse(JSON.stringify(n))[t], delete r[t].$$hashKey, delete r[t].$dirtyBank, delete r[t].$other, delete r[t].$peste;
return Object.keys(warren.utils.deepdiff(e, r)).length > 0
}
var $ = null,
y = null,
B = this;
B.c_register = n.$parent.c_register, B.user = null, B.registerForm1 = u, B.registerForm2 = l, B.submit = f, B.started = !1, B.start = d, B.bankaccountErrors = [], a()
}
n.$inject = ["$q", "$scope", "$timeout", "wrnUser", "wrnSmoothScroll", "wrnFlash", "wrnAnalytics", "wrnMoip"], angular.module("warren.pages.register.step3", []).controller("warrenRegisterStep3Controller", n).directive("warrenRegisterStep3", e), e.$inject = []
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/pages/register/steps/step4.template.html",
controller: r,
controllerAs: "c_step4"
}
}
function r(e, r, t, s, n, o, i) {
function u() {
m.user = s.getCurrent(!0)
}
function a(e) {
f = e
}
function l() {
m.started = !0
}
function c() {
f.$submitted = !0;
var e = m.user.document.imageFront && m.user.address.imageFront;
if (!f.$valid || !e) return void(m.user.acceptedTerms && d());
if (!m.user.personalProfile.isExposed || m.user.personalProfile.isExposedAsPublicServant || m.user.personalProfile.isExposedAsGovernmentServant || m.user.personalProfile.isExposedByRelationship) {
var u = {
document: {
issueDate: m.user.document.issueDate,
issuedBy: m.user.document.issuedBy,
number: m.user.document.number,
state: m.user.document.state,
type: m.user.document.type
},
personalProfile: {
isExposed: m.user.personalProfile.isExposed,
isExposedAsPublicServant: m.user.personalProfile.isExposedAsPublicServant,
isExposedAsGovernmentServant: m.user.personalProfile.isExposedAsGovernmentServant,
isExposedByRelationship: m.user.personalProfile.isExposedByRelationship
},
termsToAccept: m.user.termsToAccept
};
m.c_register.isSaving = !0, n.toPosition(0), s.update(u).then(function(e) {
t(function() {
"invite" == m.user.unlockedVia && i.track(m.user, "Invite Converted", {}), i.pixelFB("Register Step 4"), i.track(m.user, "Register Step 4", {}), m.c_register.isSaving = !1
}, 300), r.go("dash")
}, function(e) {
console.error(e);
var r = null;
if (e.errors) {
r = "<ul>";
for (var t = 0; t < e.errors.length; t++) r += "<li>" + e.errors[t].msg + "</li>";
r += "</ul>"
}
o.error(e.message, r), m.c_register.isSaving = !1
})
}
}
function p(e) {
e && (m.user.document.state = e)
}
function d(e) {
function r(e, r) {
t(function() {
e && (e.style.opacity = 1)
}, r)
}
function s(e, r) {
t(function() {
e && (e.style.opacity = 0)
}, r)
}
function o(e) {
s(e, 500), r(e, 800), s(e, 1e3), r(e, 1200), s(e, 1400), r(e, 1600)
}
if (m.user.document.imageFront) {
if (!m.user.address.imageFront) {
var i = document.getElementById("addressError"),
u = warren.utils.getGlobalOffset(i);
n.toPosition(u.top - 100), o(i)
}
} else {
var i = document.getElementById("documentError"),
u = warren.utils.getGlobalOffset(i);
n.toPosition(u.top - 100), o(i)
}
for (var a in e) {
var l = e[a];
if (l && l.$invalid) {
var i = document.getElementById(l.$name),
u = warren.utils.getGlobalOffset(i);
n.toPosition(u.top - 100), o(i);
break
}
}
}
var f = null,
m = this;
m.c_register = e.$parent.c_register, m.user = null, m.registerForm = a, m.submit = c, m.started = !1, m.start = l, m.updateState = p, u()
}
angular.module("warren.pages.register.step4", []).controller("warrenRegisterStep4Controller", r).directive("warrenRegisterStep4", e), e.$inject = [], r.$inject = ["$scope", "$state", "$timeout", "wrnUser", "wrnSmoothScroll", "wrnFlash", "wrnAnalytics"]
}();
! function() {
"use strict";
function a() {
return {
templateUrl: "app/pages/ricometro/blocks/ricometro.result.html",
controller: t,
controllerAs: "c_ricometroResult"
}
}
function t(a, t, e, r, n, o, s) {
function l() {
w.data.salary <= 3e3 ? w.data.initialInvestment = 5e3 : w.data.initialInvestment = 1e4, w.data.monthlyInvestment = .1 * w.data.salary, w.updateInfo();
try {
e.pageView("ricometroResult")
} catch (a) {}
}
function i() {
w.isStarted = !0
}
function c() {
wrnSmoothScroll.toPosition(1e5, 0)
}
function u(a, t) {
var e = w.data[a],
r = e + (t || 0);
r >= 0 && (w.data[a] = r, d())
}
function d() {
w.data.wage = w.data.salary / w.data.workHoursPerMonth, w.data.totalSavings = warren.finance.futureValue(w.data.initialInvestment, 12 * w.data.goalYears, w.benchmarks.savings, w.data.monthlyInvestment), w.data.totalWarren = warren.finance.futureValue(w.data.initialInvestment, 12 * w.data.goalYears, w.benchmarks.warren, w.data.monthlyInvestment), w.data.lostMoney = w.data.totalWarren - w.data.totalSavings;
var a = w.data.lostMoney / w.data.wage;
w.data.hours = Math.floor(a)
}
function m() {
a.go("suitability")
}
var w = this;
w.data = {
salary: t.salary || 3e3,
workHoursPerMonth: 180,
goalYears: 10,
hours: 8
}, w.benchmarks = {
savings: .0061,
warren: .009435
}, w.start = i, w.scroll = c, w.updateInfo = d, w.updateValue = u, w.goSuita = m, l()
}
angular.module("warren.pages.ricometroResult", []).controller("warrenRicometroResultController", t).directive("warrenRicometroResult", a), a.$inject = [], t.$inject = ["$state", "$stateParams", "wrnAnalytics", "wrnUser", "wrnFlash", "wrnHistory", "wrnSession"]
}();
! function() {
"use strict";
function e() {
return {
scope: {},
templateUrl: "app/pages/style/pages/assets.template.html",
controller: t,
controllerAs: "c_assets"
}
}
function t(e) {}
angular.module("warren.pages.style.assets", []).controller("warrenAssetsController", t).directive("warrenStyleAssets", e), e.$inject = [], t.$inject = ["wrnAnalytics"]
}();
! function() {
"use strict";
function t() {
return {
scope: {},
templateUrl: "app/pages/style/pages/buttons.template.html",
controller: e,
controllerAs: "c_buttons"
}
}
function e(t) {}
angular.module("warren.pages.style.buttons", []).controller("warrenButtonsController", e).directive("warrenStyleButtons", t), t.$inject = [], e.$inject = ["wrnAnalytics"]
}();
! function() {
"use strict";
function r() {
return {
scope: {},
templateUrl: "app/pages/style/pages/colors.template.html",
controller: e,
controllerAs: "c_colors"
}
}
function e(r) {}
angular.module("warren.pages.style.colors", []).controller("warrenColorsController", e).directive("warrenStyleColors", r), r.$inject = [], e.$inject = ["wrnAnalytics"]
}();
! function() {
"use strict";
function e() {
return {
scope: {},
templateUrl: "app/pages/style/pages/components.template.html",
controller: n,
controllerAs: "c_components"
}
}
function n(e) {}
angular.module("warren.pages.style.components", []).controller("warrenComponentsController", n).directive("warrenStyleComponents", e), e.$inject = [], n.$inject = ["wrnAnalytics"]
}();
! function() {
"use strict";
function r() {
return {
scope: {},
templateUrl: "app/pages/style/pages/forms.template.html",
controller: e,
controllerAs: "c_forms"
}
}
function e(r) {}
angular.module("warren.pages.style.forms", []).controller("warrenFormsController", e).directive("warrenStyleForms", r), r.$inject = [], e.$inject = ["wrnAnalytics"]
}();
! function() {
"use strict";
function t() {
return {
scope: {},
templateUrl: "app/pages/style/pages/javascript.template.html",
controller: r,
controllerAs: "c_javascript"
}
}
function r(t) {}
angular.module("warren.pages.style.javascript", []).controller("warrenJavascriptController", r).directive("warrenStyleJavascript", t), t.$inject = [], r.$inject = ["wrnAnalytics"]
}();
! function() {
"use strict";
function t() {
return {
scope: {},
templateUrl: "app/pages/style/pages/layout.template.html",
controller: e,
controllerAs: "c_layout"
}
}
function e(t) {}
angular.module("warren.pages.style.layout", []).controller("warrenLayoutController", e).directive("warrenStyleLayout", t), t.$inject = [], e.$inject = ["wrnAnalytics"]
}();
! function() {
"use strict";
function r() {
return {
scope: {},
templateUrl: "app/pages/style/pages/typography.template.html",
controller: e,
controllerAs: "c_typography"
}
}
function e(r) {}
angular.module("warren.pages.style.typography", []).controller("warrenTypographyController", e).directive("warrenStyleTypography", r), r.$inject = [], e.$inject = ["wrnAnalytics"]
}();
! function() {
"use strict";
function e(e, n, r, t, o, i, s, a, u) {
function c() {
try {
t.pageView("account")
} catch (e) {}
o.getCurrent().then(function(e) {
w.user = e, w.showUnderApproval = e.isRegisterVerified && e.isRegisterModified, w.user.verifyBankError = function(e) {
return w.bankaccountErrors.indexOf(e) >= 0
}
}, function(e) {
console.error(e)
})
}
function l(e) {
return e === N
}
function d(e) {
N = e
}
function f(e) {
E.push(e)
}
function g() {
if (!w.isSubmitted && v()) {
var e = w.user.$pendingAddBankAccounts,
n = w.user.$pendingRemoveBankAccounts,
r = e && e.length || n && n.length || y(w.user.bankAccounts, w.user.$pendingBankAccounts),
t = w.user.$pendingBankAccounts;
A(t, r).then(function(e) {
e || (w.isSubmitted = !0, w.user.isRegisterValidated && w.user.isRegisterVerified ? a.password("Entre com sua senha", "", {
textCancel: "Cancelar",
textOk: "Enviar"
}).then(function(e) {
"ok" === e.response ? (p(e.value), w.isSubmitted = !1) : w.isSubmitted = !1
}) : p())
})
}
}
function v() {
for (var e = !1, n = 0; n < E.length; n++) {
var r = E[n];
r.$submitted = !0;
var t = w.user.document.imageFront && w.user.address.imageFront;
if (!r.$valid && n >= 0 || 4 === n && !t) {
e = !0, 0 === n ? d(1) : 1 === n ? d(2) : 2 === n ? d(3) : 3 === n ? d(3) : 4 === n && d(4), b(r);
break
}
}
return w.user.personalProfile.isExposed && (w.user.personalProfile.isExposedByRelationship || w.user.personalProfile.isExposedAsPublicServant || w.user.personalProfile.isExposedAsGovernmentServant || (e = !0)), !e
}
function p(n) {
w.isSaving = !0;
for (var r = (w.user.$pendingRemoveBankAccount, 0); r < w.user.$pendingBankAccounts.length; r++) {
var t = w.user.$pendingBankAccounts[r];
t.hasSecondHolder || (t.hasSecondHolder = !1, delete t.firstHolderCPF, delete t.firstHolderName)
}
w.user.bankAccounts = w.user.$pendingBankAccounts, e.all([m(), h(n)])
}
function m() {
for (var n = [], r = w.user.$pendingRemoveBankAccounts || [], t = 0; t < r.length; t++) n.push(o.removeBankAccount(r[t]._id));
e.all(n).then(function(e) {
for (t = 0; t < r.length; t++) {
for (var n = r[t], o = w.user.bankAccounts.lenght - 1; o >= 0; o--) {
var i = w.user.bankAccounts[o];
if (i._id === n._id) {
w.user.bankAccounts.splice(o, 1);
break
}
}
w.user.$pendingRemoveBankAccounts = []
}
}, function(e) {
s.error(e.message)
})
}
function h(e) {
o.update(w.user, e).then(function(e) {
w.showUnderApproval = e.isRegisterVerified && e.isRegisterModified, w.user.$pendingAddBankAccounts = [];
for (var n = 0; n < e.bankAccounts.length; n++)
for (var r = 0; r < w.user.$pendingBankAccounts.length; r++) {
var t = e.bankAccounts[n],
o = w.user.$pendingBankAccounts[r];
t.agency == o.agency && t.bank == o.bank && t.digit == o.digit && t.number == o.number && t.type == o.type && t.hasSecondHolder == o.hasSecondHolder && t.firstHolderCPF == o.firstHolderCPF && t.firstHolderName == o.firstHolderName && (o._id = t._id)
}
w.isSaving = !1, w.isSubmitted = !1, i.toPosition(0), s.success("Seus dados foram atualizados", {
raw: !0
})
}, function(e) {
console.error(e);
var n = null;
if (e.errors) {
n = "<ul>";
for (var r = 0; r < e.errors.length; r++) n += "<li>" + e.errors[r].msg + "</li>";
n += "</ul>"
}
s.error(e.message, n), w.isSaving = !1, w.isSubmitted = !1, w.user.$pendingAddBankAccounts = []
})
}
function b(e) {
if (w.user.document.imageFront) {
if (!w.user.address.imageFront) {
var n = document.getElementById("addressError"),
r = warren.utils.getGlobalOffset(n);
i.toPosition(r.top - 100), k(n)
}
} else {
var n = document.getElementById("documentError"),
r = warren.utils.getGlobalOffset(n);
i.toPosition(r.top - 100), k(n)
}
for (var t in e) {
var o = e[t];
if (o && o.$invalid) {
var n = document.getElementById(o.$name),
r = warren.utils.getGlobalOffset(n);
0 === r.top && o.$name.includes("billingbank") ? (n = document.getElementById(o.$name.replace("billingbank", "rowbank")), r = warren.utils.getGlobalOffset(n), i.toPosition(r.top - 100)) : (i.toPosition(r.top - 100), k(n));
break
}
}
}
function k(e) {
function n(e, n) {
r(function() {
e && (e.style.opacity = 1)
}, n)
}
function t(e, n) {
r(function() {
e && (e.style.opacity = 0)
}, n)
}
t(e, 500), n(e, 800), t(e, 1e3), n(e, 1200), t(e, 1400), n(e, 1600)
}
function A(n, r) {
var t = [],
o = 0;
return e(function(e, i) {
if (!r) return e(!1);
if (n) {
w.bankaccountErrors = [];
for (var s = 0; s < n.length; s++) B(n[s]).then(function(r) {
if (r.invalid && t.push({
index: o,
errors: r.errors
}), o++, o === n.length) return t.length ? ($(t), e(!0)) : e(!1)
}, function(r) {
if (o === n.length) return t.length ? ($(t), e(!0)) : e(!1)
})
}
})
}
function $(e) {
for (var n = [], r = 0; r < e.length; r++)
for (var t = 0; t < e[r].errors.length; t++) {
var o = e[r].errors[t].code + "_" + e[r].index,
s = document.getElementById(o);
w.bankaccountErrors.push(o), n.push(s)
}
if (n.length) {
for (var r = 0; r < n.length; r++) k(n[r]);
var a = warren.utils.getGlobalOffset(n[0]);
i.toPosition(a.top - 100)
}
}
function B(n) {
return e(function(e, r) {
return u.BankAccount ? void u.BankAccount.validate({
bankNumber: n.bank,
agencyNumber: n.agency,
agencyCheckNumber: "",
accountNumber: n.number,
accountCheckNumber: n.digit,
valid: function() {
return e({
invalid: !1
})
},
invalid: function(n) {
if (!n) return e({
invalid: !0
});
if (1 === n.errors.length && "INVALID_AGENCY_CHECK_NUMBER" === n.errors[0].code) return e({
invalid: !1
});
if (n.errors.length)
for (var r = 0; r < n.errors.length; r++) "INVALID_AGENCY_CHECK_NUMBER" === n.errors[r].code && n.errors.splice(r, 1);
return e({
invalid: !0,
errors: n.errors
})
}
}) : r("moip_isnt_available")
})
}
function y(e, n) {
for (var r = [], t = 0; t < n.length; t++) r[t] = JSON.parse(JSON.stringify(n))[t], delete r[t].$$hashKey, delete r[t].$dirtyBank, delete r[t].$other, delete r[t].$peste;
return Object.keys(warren.utils.deepdiff(e, r)).length > 0
}
var E = [],
S = n.$parent.c_user;
S.navbarTitle = "Dados cadastrais";
var w = this;
w.isTab = l, w.setTab = d, w.registerForm = f, w.submit = g, w.isSaving = !1, w.isSubmitted = !1, w.showUnderApproval = !1, w.bankaccountErrors = [], c();
var N = 1
}
e.$inject = ["$q", "$scope", "$timeout", "wrnAnalytics", "wrnUser", "wrnSmoothScroll", "wrnFlash", "wrnDialog", "wrnMoip"], warren.angular.controller("warren.pages.user.account", e)
}();
! function() {
"use strict";
function t() {
return {
templateUrl: "app/pages/user/pages/contact.template.html",
controller: e,
controllerAs: "c_contact"
}
}
function e(t, e) {
function n() {
try {
e.pageView("contact")
} catch (t) {}
}
var r = t.$parent.c_user;
r.navbarTitle = "Contato", n()
}
angular.module("warren.pages.user.contact", []).controller("warrenContactController", e).directive("warrenUserContact", t), t.$inject = [], e.$inject = ["$scope", "wrnAnalytics"]
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/pages/user/pages/email.template.html",
controller: n,
controllerAs: "c_email"
}
}
function n(e, n, r, a) {
function t() {
try {
n.pageView("email")
} catch (e) {}
r.getCurrent().then(function(e) {
l.user = e
}, function(e) {
console.error(e)
})
}
function i(e) {
e.$setSubmitted(!0), e.$invalid || (l.isSaving = !0, r.updateEmail(l.data.currentPassword, l.data.newEmail).then(function() {
l.isSaving = !1, a.success("E-mail enviado para confirmação", {
raw: !0
})
}, function(e) {
l.isSaving = !1, a.error(e.message)
}))
}
var l = this,
s = e.$parent.c_user;
s.navbarTitle = "Trocar e-mail", l.data = {
currentPassword: null,
newEmail: null
}, l.isSaving = !1, l.submit = i, t()
}
angular.module("warren.pages.user.email", []).controller("warrenEmailController", n).directive("warrenUserEmail", e), e.$inject = [], n.$inject = ["$scope", "wrnAnalytics", "wrnUser", "wrnFlash"]
}();
! function() {
"use strict";
function t() {
return {
templateUrl: "app/pages/user/pages/notifications.template.html",
controller: n,
controllerAs: "c_notifications"
}
}
function n(t, n) {
function i() {
try {
n.pageView("notifications")
} catch (t) {}
}
var e = t.$parent.c_user;
e.navbarTitle = "Notificações", i()
}
angular.module("warren.pages.user.notifications", []).controller("warrenNotificationsController", n).directive("warrenUserNotifications", t), t.$inject = [], n.$inject = ["$scope", "wrnAnalytics"]
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/pages/user/pages/password.template.html",
controller: s,
controllerAs: "c_password"
}
}
function s(e, s, r, a) {
function n() {
try {
s.pageView("password")
} catch (e) {}
r.getCurrent().then(function(e) {
i.user = e
}, function(e) {
a.error(e.message), console.error(e)
})
}
function o(e) {
e.$setSubmitted(!0), e.$invalid || (i.isSaving = !0, r.updatePassword(i.data.oldPass, i.data.newPass).then(function() {
i.isSaving = !1, a.success("Senha alterada com sucesso", {
raw: !0
})
}, function(e) {
i.isSaving = !1, a.error(e.message), console.error(e)
}))
}
function t() {
i.isSaving = !0, console.log(i), r.reset(i.user.email).then(function(e) {
e ? (a.error(e.message), console.error(e)) : a.success("Um link para resetar sua senha foi enviado para o seu e-mail", {
raw: !0
}), i.isSaving = !1
})
}
var i = this,
l = e.$parent.c_user;
l.navbarTitle = "Trocar senha", i.data = {
oldPass: null,
newPass: null,
confirmPass: null
}, i.isSaving = !1, i.submit = o, i.doReset = t, i.user = null, n()
}
angular.module("warren.pages.user.password", []).controller("warrenPasswordController", s).directive("warrenUserPassword", e), e.$inject = [], s.$inject = ["$scope", "wrnAnalytics", "wrnUser", "wrnFlash"]
}();
! function() {
"use strict";
function n(n, t, o, r, a) {
function e() {
try {
r.pageView("quotes")
} catch (n) {}
a.getInvestmentSummary().then(function(t) {
m.summary = t, n.isLoading = !1
})
}
function i(n) {
n === m.accordionTab ? m.accordionTab = null : m.accordionTab = n
}
function u(n) {
s(n) && t.go("quotes", {
fundId: n
})
}
function s(n) {
return m.summary && m.summary.positions.hasOwnProperty(n)
}
function c(n) {
if (!m.summary) return "0";
var t = m.summary.positions[n];
return t && t.quantity ? o("money")(t.quantity, "", 2) : "0"
}
var m = this,
f = n.$parent.c_user;
f.navbarTitle = "Meus Investimentos", m.accordionTab = null, m.setAccordion = i, m.formatQuote = c, m.hasQuote = s, m.goTo = u, m.funds = {}, n.isLoading = !0, e()
}
n.$inject = ["$scope", "$state", "$filter", "wrnAnalytics", "wrnTransaction"], warren.angular.controller("warren.pages.user.quotes", n)
}();
! function() {
"use strict";
function e() {
return {
templateUrl: "app/pages/user/pages/riskprofile.template.html",
controller: r,
controllerAs: "c_riskprofile"
}
}
function r(e, r, t) {
function i() {
try {
r.pageView("riskprofile")
} catch (e) {}
t.getCurrent().then(function(e) {
var r = e.investmentProfile.computedProfileType;
l.user = e, l.title = "profile_" + r + "_title", l.subtitle = "profile_" + r + "_subtitle", l.description = "profile_" + r + "_description_tw"
}, function(e) {
console.error(e)
})
}
var l = this,
n = e.$parent.c_user;
n.navbarTitle = "Perfil de risco", l.title = null, l.subtitle = null, l.description = null, i()
}
angular.module("warren.pages.user.riskprofile", []).controller("warrenRiskprofileController", r).directive("warrenUserRiskprofile", e), e.$inject = [], r.$inject = ["$scope", "wrnAnalytics", "wrnUser"]
}();
! function() {
"use strict";
function n(n, t, r, a) {
function o() {
try {
r.pageView("terms")
} catch (n) {}
a.getInvestmentSummary().then(function(t) {
c.summary = t, n.isLoading = !1
})
}
function i(n) {
n === c.accordionTab ? c.accordionTab = null : c.accordionTab = n
}
function e(n) {
if (!c.summary) return "0";
var r = c.summary.positions[n];
return r && r.quantity ? t("money")(r.quantity, "", 2) : "0"
}
var c = this,
s = n.$parent.c_user;
s.navbarTitle = "Documentos e Contratos", c.accordionTab = null, c.setAccordion = i, c.formatQuote = e, c.funds = {}, n.isLoading = !0, o()
}
n.$inject = ["$scope", "$filter", "wrnAnalytics", "wrnTransaction"], warren.angular.controller("warren.pages.user.terms", n)
}();
//# sourceMappingURL=/js/app-3b47c9b.min.js.map
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment