;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Nubank: com 815 mil investidores em BDRs, oferta é a maior do País no varejo

O Nubank tem 48 milhões de clientes e opera em três países, mas quer se expandir ainda mais - Paulo Whitaker/Reuters
O Nubank tem 48 milhões de clientes e opera em três países, mas quer se expandir ainda mais Imagem: Paulo Whitaker/Reuters

Matheus Piovesana, em São Paulo

09/12/2021 09h21

A oferta pública inicial de ações (IPO, na sigla em inglês) do Nubank quebrou um recorde: foi a maior em termos de participação de investidores de varejo do mercado brasileiro. Ao todo, segundo o neobanco, 815 mil pessoas investiram em seus BDRs (Brazilian Depositary Receipts).

Esse dado não inclui o NuSócios, programa em que a fintech deu a seus clientes o direito a obterem um BDR cada sem custos. Apenas no NuSócios, cerca de 7,5 milhões de pessoas obtiveram recibos brasileiros dos papéis do Nubank, que estreia hoje na Bolsa de Nova York (Nyse), onde ficará sua listagem primária.

Os dados foram divulgados pelo Nubank em postagem de seu blog oficial. "Com a entrada na Bolsa, o Nubank ganha milhões de acionistas", afirma o texto, que diz ainda que os BDRs de quem teve a reserva confirmada já estão disponíveis no aplicativo. A Nu Invest, corretora do banco, foi coordenadora do IPO, e fez a distribuição dos BDRs aos clientes da instituição.

De acordo com o Nubank, os BDRs começarão a ser negociados junto com a abertura dos papéis na Nyse, hoje. "O início da negociação dos BDRs na B3 vai acontecer ao longo do dia 9, de forma coordenada com o início de negociação das ações na Bolsa de Nova York", diz o texto. A cerimônia oficial na B3, porém, ocorre somente amanhã.

Na postagem, o Nubank repetiu afirmação de seu cofundador, David Vélez, de que o IPO é importante para o crescimento futuro da empresa - o Nubank tem 48 milhões de clientes e opera em três países, mas quer se expandir ainda mais. "Ao fazer IPO, o Nubank abre seu capital para captar recursos e receber novos investidores. Isso pode viabilizar projetos para nos tornar cada vez mais completos e atingir nossos objetivos."