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

Esse conteúdo é antigo

Moro: Heleno, Braga Netto e Ramos viram Bolsonaro ameaçar minha demissão

Ueslei Marcelino/Reuters
Imagem: Ueslei Marcelino/Reuters

Fausto Macedo e Paulo Roberto Netto

São Paulo

04/05/2020 16h13Atualizada em 04/05/2020 18h13

O chefe do Gabinete de Segurança Institucional (GSI), general Augusto Heleno, e os ministros Walter Braga Netto (Casa Civil) e Luiz Eduardo Ramos (Secretaria de Governo) testemunharam o presidente Jair Bolsonaro ameaçar demitir o então ministro Sérgio Moro (Justiça e Segurança Pública) em reunião gravada no dia 22 de abril —dois dias antes de o ex-juiz anunciar sua saída do cargo.

As informações foram readas à Polícia Federal no longo depoimento que Moro prestou na sede da superintendência da corporação no último sábado, 2, em Curitiba. O motivo da ameaça foi a resistência do ex-juiz em manter Maurício Valeixo na chefia da Polícia Federal.

Os três ministros foram citados no depoimento de Moro como eventuais testemunhas da conversa entre ele e o presidente. A reunião do conselho de ministros foi gravada pelo Planalto.

No dia seguinte, 23 de abril, Bolsonaro informou Moro de que havia tomado a decisão de demitir Valeixo, o que motivou o ex-juiz a deixar o cargo e anunciar, no dia 24, a tentativa de 'interferência política' do presidente no comando da PF.

As acusações levaram à abertura de inquérito no Supremo Tribunal Federal que apura as acusações do ex-ministro.

Nesta segunda-feira, Bolsonaro anunciou Rolando Alexandre de Souza para a cadeira deixada por Valeixo na PF. Número dois da Abin e braço direito de Alexandre Ramagem, inicialmente indicado para o cargo, mas barrado pelo STF, Rolando assumiu a direção-geral da corporação 20 minutos depois da publicação de sua nomeação no Diário Oficial da União.

Bolsonaro também comentou o depoimento de Moro, que entregou conversas trocadas com o presidente à Polícia Federal. Uma delas é a já revelada publicamente em que o presidente encaminha um link do portal O Antagonista sobre inquérito do Supremo mirar aliados do governo com a mensagem: "Mais um motivo para a troca".

Segundo o presidente, as acusações de Moro se tratam de uma "fofoca". "Tem um print do Antagonista. Eu escrevi embaixo 'Mais um motivo para troca". Estão me acusando por causa disso que eu estou interferindo na Polícia Federal. Estou dizendo que isso é fofoca. O complemento vem depois", disse.

Peritos da Polícia Federal extraíram do celular do ex-ministro mensagens trocadas com Bolsonaro, incluindo as que foram deletadas para aumentar o espaço de armazenamento do aparelho. Uma varredura completa foi realizada e localizou até áudios enviados por aplicativos de mensagem. Os peritos também copiaram mensagens trocadas entre Moro e a deputada Carla Zambelli.

O próximo o é a elaboração de um laudo no Instituto Nacional de Criminalística sobre as conversas e os áudios.

Moro prestou depoimento de mais de oito horas na sede da PF no inquérito que investiga suas acusações de tentativas de interferência política de Bolsonaro na chefia da corporação. O Planalto se preocupa com o andamento de inquéritos que apuram esquemas de divulgação de 'fake news' e financiamento de atos antidemocráticos realizados em abril, em Brasília.