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

Ex-Globo, 'repórter secreto' do Fantástico nunca mostrou o rosto na TV

Eduardo Faustini ficou conhecido como o "repórter secreto" do "Fantástico", na Globo - Reprodução
Eduardo Faustini ficou conhecido como o "repórter secreto" do "Fantástico", na Globo Imagem: Reprodução

De Splash, em São Paulo

25/11/2021 20h36

A TV Globo confirmou hoje as saídas de José Hamilton Ribeiro e Eduardo Faustini, apelidado de "repórter secreto" e famoso por conta das reportagens investigativas para o "Fantástico".

Trabalhando na emissora desde 1996, o repórter nunca exibiu o rosto na televisão para preservar a integridade física. Mesmo com a decisão, Eduardo já foi ameaçado por conta das investigações em que participou.

Denúncias

Em 1999, Eduardo fez reportagens que levaram à prisão do ex-coronel da PM, acusado de comandar grupos de extermínio, Hildebrando Pascoal.

Três anos depois, ele também registrou diálogos que mostravam corrupção explícita de agentes da prefeitura de São Gonçalo, Rio de Janeiro. Em 2004, o repórter noticiou a queima de documentos da época da Ditadura Militar em Salvador, Bahia.

Uma das reportagens de destaque foi produzida em 2005. Ele mostrou registros feitos por Ivo Cassol, então governador de Rondônia, que comprovavam tentativas de suborno por parte dos deputados.

Conflitos entre policiais e traficantes no RJ

Outro caso importante foi o especial "Diário de uma guerra suja", que mostrava a luta entre policiais e traficantes do Rio. O conteúdo foi exibido pelo "Fantástico" em três partes.

Além de conversar com as autoridades locais por dez dias, o "Repórter Secreto" também ouviu profissionais de outras áreas que opinaram sobre o cenário e conversou com educadores que trabalhavam em regiões influenciadas pelo tráfico.

Desvios de dinheiro público e última reportagem

Em 2014, Eduardo Faustini estreou mais uma série de reportagens no "Fantástico", chamada "Cadê o dinheiro que estava aqui?", onde investiga onde denúncias sobre desvios de impostos.

Os primeiros conteúdos foram ao ar após a realização da Copa do Mundo no Brasil. A ideia foi identificar como as verbas foram aplicadas nas cidades em que o evento aconteceu.

Um ano depois, o "Fantástico" noticiou que as obras para o mundial em Cuiabá, Mato Grosso, não foram concluídas mesmo com um investimento de R$ 1 bilhão. A série também apontou irregularidades em outras cidades brasileiras.

A última reportagem da série foi exibida em outubro, quando o repórter investigou irregularidades na construção de um fórum em Imperatriz, Maranhão.