;(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
Topo

Deolane explica divisão em festa: 'Um lugar para meus amigos mais próximos'

De Splash, em São Paulo

04/11/2021 14h11Atualizada em 04/11/2021 16h17

A advogada Deolane Bezerra disse que a única divisão que aconteceu na sua festa de aniversário de 34 anos foi entre os amigos mais próximos.

O evento teve a presença de famosos e um relato da influenciadora carioca Dhully de que a organização dividiu "celebridades' de "subcelebridades". Deolane pediu para os seguidores apontarem quem falou que havia a separação.

Mais tarde, ela afirmou que só fez uma divisão entre os amigos mais próximos devido ao número de convidados presentes — a viúva de MC Kevin ainda chamou a influencer Rayane Cassemiro de penetra.

Já achei a mocinha aqui, ela disse que não foi por mal, que falou que era cinco minutos e queria estar ali. Expliquei para ela que não tinha porr# de divisão nenhuma, tinha apenas um lugar para mim e para meus amigos mais próximos. Fiz uma festa para 500 pessoas e tinha 1.500. Nós queríamos se divertir e não só ficar tirando foto a noite inteira. Teve uma hora que ficou sem controle, se juntou todo mundo. Fora isso, foi muito bom. Deolane Bezerra no Instagram

Dhully publicou uma sequência volumosa de vídeos no Instagram Stories da festa com shows da dupla Simone e Simaria e participação de Jojo Todynho.

A jovem pediu desculpas para Deolane e disse que falou da divisão sem a intenção de criticar a advogada.

Antes, ela havia publicado uma foto ao lado de Deolane na festa em São paulo

Nenhum momento eu falei para prejudicar ou falar mal da festa, até porque foi um dos melhores eventos que fui, entrei em contato com ela e já falei pessoalmente e pedi desculpas. Postei sem pensar na hora, fui imatura e não falei por maldade. Dhully

Deolane - Reprodução/Instagram - Reprodução/Instagram
Influenciadora DHully pede desculpas por falar em divisão em festa de Deolane Bezerra
Imagem: Reprodução/Instagram

O evento custou R$ 4,5 milhões, segundo o joalheiro Paulo Teixeira. O look teve conjuntos de joias escolhidos para a comemoração avaliadas em pelo menos R$ 1 milhão..

Deolane gastou aproximadamente R$ 500 em lembrancinhas para cada convidado da festança.

Além da divisão, a advogada ainda comentou que Rayane Cassemiro entrou de penetra — o que foi rebatido pela influencer, que relatou ser agredida por Adélia Soares, advogada e ex-BBB, no banheiro da festa.