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

Moraes barra nomeação na PF e Bolsonaro reage

Julia Lindner, Emilly Behnke, Vera Rosa e Dida Sampaio

Brasília

30/04/2020 07h37

Duas horas após a Advocacia-Geral da União (AGU) informar que não iria recorrer da liminar que suspendeu a nomeação de Alexandre Ramagem para a diretoria-geral da Polícia Federal, o presidente Jair Bolsonaro desautorizou a equipe jurídica do governo e disse que vai tentar reverter a decisão. "Quem manda sou eu", afirmou Bolsonaro a apoiadores, diante do Palácio da Alvorada. "Eu quero o Ramagem lá. É uma ingerência, né? Mas vamos fazer tudo para o Ramagem. Se não for, vai chegar a hora dele e eu vou botar outra pessoa."

A declaração, em tom de desafio, foi dada logo depois de Bolsonaro dar posse ao novo ministro da Justiça, André Mendonça, que substitui no cargo o ex-juiz da Lava Jato Sérgio Moro, e ao advogado-geral da União, José Levi Mello do Amaral Junior, no Palácio do Planalto. Ramagem também tomaria posse na mesma cerimônia, mas Bolsonaro sofreu outro revés do Supremo Tribunal Federal (STF).

O ministro do STF Alexandre de Moraes suspendeu a nomeação de Ramagem, amigo da família Bolsonaro, sob o argumento de que apresentava indícios de "desvio de finalidade". No despacho, Moraes alegou que a indicação contrariava princípios constitucionais de "impessoalidade, moralidade e interesse público".

Bolsonaro, então, foi aconselhado por Mendonça e pelo novo advogado-geral da União a não recorrer da decisão. O presidente relutou, mas acabou concordando e cancelou a nomeação. Revogou, ainda, sua exoneração como diretor da Agência Brasileira de Inteligência (Abin) e, assim, Ramagem pôde voltar para o seu antigo cargo.

O dia, porém, foi de tensão, cheio de idas e vindas. Na cerimônia de posse, poucas horas depois da decisão de Moraes, Bolsonaro não escondeu o aborrecimento e disse não ter desistido do "sonho" de ter o amigo, de quem se aproximou na campanha de 2018, à frente da PF.

"O senhor Ramagem, que tomaria posse, foi impedido por uma decisão monocrática. Gostaria de honrá-lo hoje dando posse como diretor-geral da PF. Tenho certeza que esse sonho brevemente se concretizará para o bem da nossa PF e do nosso Brasil", afirmou o presidente, no Planalto.

Moro

A troca no comando da corporação foi o pivô da crise que resultou no pedido de demissão de Sérgio Moro do Ministério da Justiça no último dia 24. Moro se recusou a substituir o então diretor-geral da PF, Maurício Valeixo, como queria Bolsonaro, e o acusou de interferência política. A acusação motivou a abertura de inquérito conduzido pelo decano do Supremo, Celso de Mello.

No Planalto, Bolsonaro pregou a harmonia e o respeito entre os Poderes, mas criticou o despacho de Moraes. "Não posso itir que ninguém ouse desrespeitar ou tentar desmontar a nossa Constituição", afirmou ele, ao lado dos presidentes do STF, Dias Toffoli; do Superior Tribunal de Justiça (STJ), João Otávio de Noronha, além do ministro Gilmar Mendes. "A nossa PF não persegue ninguém, a não ser bandidos", disse o presidente.

Fake news

No Supremo, há outras ações que atormentam o Planalto. Moraes, por exemplo, também investiga as manifestações do último dia 19, organizadas por apoiadores de Bolsonaro, em defesa da intervenção militar e do fechamento do Congresso e do Supremo. Na ocasião, diante do QG do Exército, o presidente subiu na caçamba de uma caminhonete e pregou "o fim da patifaria".

Está sob a alçada de Moraes, ainda, o inquérito das fake news, aberto em março do ano ado para apurar ameaças, ofensas e falsas notícias espalhadas contra integrantes da Corte nas redes sociais.

O jornal O Estado de S. Paulo revelou que ao menos doze perfis com prática sistemática de ataques ao Supremo nas redes sociais, incluindo empresários bolsonaristas, já entraram na mira da investigação. Questionado na noite desta quarta-feira sobre as novas declarações do presidente, o recém-empossado advogado-geral da União respondeu: "Já foi dito que não vamos recorrer".

Na mira da Corte

- Inquérito das fake news: Em agosto, o ministro Alexandre de Moraes prorrogou a investigação sobre ofensas e ameaças a integrantes da Corte até janeiro de 2020. O inquérito identificou empresários bolsonaristas que estariam financiando os ataques.

- Ato pró-intervenção: A pedido da PGR, Moraes abriu inquérito para apurar "fatos em tese delituosos" envolvendo a organização de atos antidemocráticos - Bolsonaro participou de um desses atos em Brasília.

- Interferência: Decano do Supremo, Celso de Mello autorizou inquérito para investigar as acusações de Sérgio Moro contra Bolsonaro. O ex-ministroacusou o presidente de interferir na PF para obter o a informações sigilosas.

- Nomeação na PF: Ontem, Moraes suspendeu a nomeação na chefia da PF do delegado Alexandre Ramagem, amigo da família Bolsonaro. Para o ministro, o caso apresenta "ocorrência de desvio de finalidade".

As informações são do jornal O Estado de S. Paulo.