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

Maíra Cardi desabafa ao relembrar vazamento de vídeo íntimo após o 'BBB 9'

Maíra Cardi  - Reprodução/Instagram
Maíra Cardi Imagem: Reprodução/Instagram

Colaboração para Splash, em São Paulo

21/03/2022 18h57

A empresária Maíra Cardi, de 38 anos, relembrou a época em que teve um vídeo íntimo vazado, logo após sua saída do "BBB 9" (TV Globo). A coach fez um desabafo nas redes sociais sobre as duras críticas que sofreu por conta da gravação em questão.

"Há 13 anos, quando eu saí do BBB, uma menina tonta, sofri um grande abuso e um grande crime. Uma vez eu estava na cama com meu marido num momento íntimo, sexo oral, e ele filmou. E durante o vídeo de 30 segundos eu pergunto: 'Você não está me filmando, né?!', e ele fala 'Não', e o vídeo acaba. Esse vídeo foi parar em todas as capas, em todos os jornais, e naquela época você ficava muito tempo na capa do jornal", iniciou ela.

"O que aconteceu comigo? Você não lembra? Mas eu lembro. Eu andava na rua e as pessoas falavam 'prostituta, b*queteira, vagabunda'. Por quê? Porque eu estive na cama com o meu marido e ele resolveu soltar um vídeo. E aí eu, vítima, fiquei de prostituta, vagabunda, b*queteira. Não é só. Eu sofria machismo diário não só da rua, mas da classe artística porque ser ex-BBB naquela época também era um rótulo de mulher inútil e burra, era ruim. Por isso eu ei tantos anos correndo desse rótulo de p*ta, b*queteira e ex-BBB", continuou.

"Até que um dia, eu tinha um programa de televisão com o David Brazil e fui entrevistar o Felipe Andreoli. Ele virou as costas para mim e saiu. Foram perguntar para ele: 'Por que você não deu entrevista para a Maíra?', aí ele fez um tweet: 'Eu não dou entrevista para ex-BBB b*queteira'", relembrou.

"Meu filho, com 8 anos de idade, ficava sem comer e não podia ir para a escola. A mãe era p*ta, vagabunda e obviamente ele sofria bullying. Meu pai, comendador, não podia trabalhar. E eu, queria morrer. Sim, minha vida deixou de fazer sentido. É muito difícil sair na rua e ser chamada de p*ta porque você transou com o teu marido. Eu cheguei onde eu cheguei batalhando muito, ei por coisas que vocês não imaginam", lamentou ela, finalizando.

Reprodução/Globoplay

Veja aqui as principais novidades do Big Brother Brasil. Acompanhe as principais notícias e análises sobre as provas, formação de paredão, discussões, casais, enquetes e muito mais. O reality, produzido pela Globo e apresentado por Tadeu Schmidt, chega a sua 25ª edição com uma inovação: pela primeira vez, os participantes entraram na casa em duplas.