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

Vazamentos da Lava Jato

AGU: Não há 'qualquer prova' da existência de inquérito contra Glenn Greenwald

11.jul.2019 - Glenn Greenwald, em audiência na CCJ (Comissão de Constituição, Justiça e Cidadania) do Senado - Marcos Oliveira/Agência Senado
11.jul.2019 - Glenn Greenwald, em audiência na CCJ (Comissão de Constituição, Justiça e Cidadania) do Senado Imagem: Marcos Oliveira/Agência Senado

Rafael Moraes Moura

Brasília

07/08/2019 12h44

Em manifestação encaminhada ao STF (Supremo Tribunal Federal), a AGU (Advocacia-Geral da União) se posicionou pela rejeição de uma ação apresentada pelo partido Rede Sustentabilidade para suspender supostos inquéritos que teriam sido instaurados para investigar o jornalista norte-americano Glenn Greenwald, do site The Intercept Brasil. O site de Greenwald tem publicado, desde junho, mensagens atribuídas ao ex-juiz federal Sergio Moro e procuradores da força-tarefa da Operação Lava Jato.

Na avaliação da AGU, o partido Rede Sustentabilidade "não indicou atos do poder público" que haveriam violado preceitos fundamentais, já que "não há qualquer prova da existência" de inquéritos instaurados para investigar a conduta de Glenn.

O órgão, que defende os interesses do governo federal, também defendeu a impossibilidade de "intervenção prematura do Poder Judiciário sobre atos do Poder Público, futuros ou em formação, em face da potencial usurpação de competências dos demais poderes".

"Afinal, a concessão de ordem para impedir, de forma genérica, qualquer decisão futura de instauração de inquérito em face de pessoa determinada resultaria em violação ao próprio postulado da separação dos poderes. Ao antecipar um juízo formal impeditivo da instauração do inquérito, o Poder Judiciário retiraria das autoridades competentes a decisão sobre a necessidade de se iniciar uma investigação para apuração de crimes em potencial", ressaltou a AGU.

Preceitos

Ao acionar o Supremo, a Rede alegou que a instauração de inquéritos contra o jornalista do site The Intercept Brasil violaria os preceitos fundamentais da liberdade de expressão, do sigilo da fonte e do Estado democrático de direito. O caso está sob a relatoria do ministro Gilmar Mendes.

Na manifestação da AGU, o órgão alega que a Rede Sustentabilidade não indicou propriamente os atos do poder público que devem ser contestados, limitando-se a encaminhar ao Supremo uma notícia veiculada na imprensa que informava sobre a abertura de um inquérito em face de Glenn. A Polícia Federal, no entanto, informou ao STF que "não há inquérito policial instaurado com o objetivo de apurar a conduta do jornalista Glenn Greenwald".

"Ainda que o cabimento da arguição de descumprimento de preceito fundamental possa configurar uma técnica processual de finalidade inibitória é necessário que essa ameaça seja proveniente de um ato concreto, determinado e atribuível ao Poder Público. No particular, porém, não há qualquer prova da existência do ato questionado", escreveu o advogado-geral da União, André Mendonça.

Vazamentos da Lava Jato