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

Gianecchini atua com Klara em série sobre abuso: 'Ficamos sensibilizados'

Reynaldo Gianecchini e Klara Castanho em "Bom Dia, Verônica" (Netflix) - Reprodução/Netflix
Reynaldo Gianecchini e Klara Castanho em "Bom Dia, Verônica" (Netflix) Imagem: Reprodução/Netflix

De Splash, em São Paulo

03/08/2022 09h23

Reynaldo Gianecchini e Klara Castanho são dois dos novos protagonistas da segunda temporada de "Bom Dia, Verônica" (Netflix).

Na série, o ator interpreta um líder religioso que abusa psicologicamente da mulher, vivida por Camila Márdila, e da filha, papel de Klara.

Com a revelação de que a atriz foi vítima de abuso sexual, surgiram especulações de que a Netflix removeria as cenas — que são meramente sugestivas — de abuso da trama, o que foi negado pela plataforma de streaming, que classificou a situação como uma "infeliz coincidência".

"É um assunto delicado. Tenho muito respeito pela privacidade da Klara e não tenho nada para falar sobre essa questão da vida particular dela", disse Gianecchini em entrevista a Patrícia Kogut.

"Agora, é uma grande atriz, ficamos sensibilizados porque estamos fazendo uma série de abuso e, de repente, surge essa história. Eu acho que serve para potencializar esse discurso de alerta. Essa série foi feita quando a gente nem imaginava que podia ter esse percalço. Agora é seguir com toda essa discussão importante", comentou.

Sobre a produção, que lembra crimes sexuais cometidos por líderes espirituais — como João de Deus — o ator diz que a série não fala em nenhuma "religião específica para não pegar no pé".

"Matias é um missionário e essa questão do abuso é tão ampla que, se tocássemos numa doutrina, tornaria menor, embora ela lembre histórias que estão vindo à tona".

Ontem, Klara Castanho apareceu pela primeira vez desde a exposição de sua gravidez e da doação do bebê para adoção.

"Eu quero agradecer todo amor, cuidado e acolhimento. Quero agradecer cada pessoa que tirou um tempo para perguntar se eu estava bem, que compartilhou a própria história. Quero agradecer a cada um. Estou retomando um pouco as redes sociais", disse a atriz em Stories publicados em sua conta no Instagram.

"Estou no início de processo da segunda temporada de "De Volta Aos 15". Eu e a minha família estamos nos recuperando, recuperando a nossa força, vivendo um dia após o outro. A segunda temporada de 'Bom Dia, Verônica' estreia agora nessa madrugada. (...) E eu quero muito saber o que vocês acham, é um trabalho que me orgulho muito", completou.

O caso

No final de junho, Klara Castanho revelou que gestou uma criança após ser estuprada e a entregou para a adoção. A história ganhou notoriedade após comentários da apresentadora Antonia Fontenelle e do jornalista Leo Dias. Posteriormente, por meio de uma carta aberta, a atriz rompeu o silêncio, e relatou a violência sofrida.

Klara contou que foi estuprada e engravidou, mesmo tendo tomado pílula do dia seguinte. Classificado por ela como "o relato mais difícil da minha vida", a artista explicou que não queria tornar o assunto público, mas, como que a adoção foi exposta, resolveu se pronunciar.

Posteriormente, Leo Dias, e o portal Metrópoles, que hospeda o blog do jornalista, pediram desculpas à Klara Castanho pela exposição indevida do caso.