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

Thaís Oyama

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Generais: Lula "queima pontes" ao falar que "perdeu confiança" em militares

Colunista do UOL

13/01/2023 12h22

As falas de ontem do presidente Lula sobre as Forças Armadas aumentaram a tensão entre o governo e os militares.

Generais ouvidos pela coluna consideraram que o presidente optou por hostilizar a categoria ao expressar publicamente sua desconfiança em relação às Forças.

Em café da manhã com jornalistas, Lula disse suspeitar da conivência de "muita gente" da Polícia Militar e das Forças Armadas na invasão ao Palácio do Planalto.

"Eu estou convencido de que a porta do Palácio do Planalto foi aberta para essa gente entrar porque não tem porta quebrada".

A fala do presidente sobre o motivo pelo qual ele descartou a decretação de uma operação de Garantia de Lei e da Ordem (GLO) —"o Lula deixa de ser governo para que algum general assuma o governo"— também foi vista por militares como uma manifestação de desconfiança do presidente em relação ao Exército.

A pior declaração de Lula, porém, na visão de generais, foi a que o presidente deu ao Estadão depois do café da manhã com jornalistas. Nela, Lula justificou o motivo pelo qual decidiu trocar seus ajudantes de ordem militares por civis. "Eu perdi a confiança, simplesmente. Na hora que eu recuperar a confiança, eu volto à normalidade", afirmou.

Para um influente general da reserva com agem pelo governo federal, ao dizer que perdeu a confiança nos militares, Lula "queimou o que sobrava da ponte [que o ligava à categoria]", disse. O general afirmou ainda que as declarações de Lula representam um "ataque" do qual os militares não podem se defender. "O presidente sabe que ninguém vai cometer a indisciplina de pegar o microfone para contestar o que ele disse", afirmou o militar.

Outro general, este da ativa, disse considerar que Lula "usa as Forças Armadas para se eximir de responsabilidades, da mesma forma como fez Bolsonaro". Para o general, o ex-presidente Jair Bolsonaro, em suas tentativas de permanecer no poder, pretendeu "arrastar os militares para o jogo político".

Lula, agora, estaria tentando "jogar no colo" dos militares a culpa pelo fracasso do governo em evitar a invasão dos golpistas à Praça dos Três Poderes.

Ontem, antes das declarações de Lula sobre os militares virem a público, um ex-ministro da Defesa havia expressado à coluna sua preocupação com o que chamou de "processo de radicalização" do discurso do presidente em relação às Forças Armadas.

O ex-ministro se referia à fala de Lula feita na segunda-feira em frente ao edifício do Supremo Tribunal Federal. Nele, o presidente declarou que "nenhum general se moveu" para evitar que bolsonaristas reivindicassem um golpe militar diante dos quartéis.

"Não é o momento para isso", afirmou o ex-ministro, um dos participantes da reunião virtual ocorrida ontem entre o senador Jaques Wagner (PT) e quatro outros ex-ministros da Defesa.

A reunião, e sua divulgação para a imprensa, foi uma forma de os ex-ministros trabalharem pela manutenção no cargo do atual ministro da Defesa, José Múcio, cuja cabeça vinha sendo pedida por uma ala de integrantes do PT. Na fala de ontem aos jornalistas, Lula afirmou que Múcio permanece no governo.