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

Chico Alves

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Bolsonaro agrava ameaça golpista, mas diz jogar 'dentro das quatro linhas'

24.abr.2021 - Presidente Jair Bolsonaro (sem partido) - Isac Nóbrega/PR
24.abr.2021 - Presidente Jair Bolsonaro (sem partido) Imagem: Isac Nóbrega/PR

Colunista do UOL

24/04/2021 07h44

De tempos em tempos, o presidente Jair Bolsonaro se mostra obcecado por algum tipo de metáfora. Repete uma figura de linguagem à exaustão, para meses depois trocar de tema. Em período recente, tratava qualquer parceria política como noivado ou casamento. O gosto pelas metáforas matrimoniais ou e agora ele se fixou nas futebolísticas.

Nas últimas semanas falou várias vezes que quer "jogar dentro das quatro linhas", em referência a manter seus atos dentro do que prevê a Constituição (algo que deveria ser óbvio).

O grande problema é que o presidente tem feito essa analogia justamente quando quer dizer o contrário. Para ele, gol de mão consta das regras do futebol.

A menção às "quatro linhas" foi repetida ontem, no Amazonas, quando Bolsonaro retomou a retórica de ameaça golpista. Dessa vez, porém, foi mais ousado. Disse que já combinou com seus ministros, inclusive o da Defesa, Braga Netto, um plano de "como entrar em campo".

"As nossas Forças Armadas podem ir para a rua um dia, sim, dentro das quatro linhas da Constituição, para fazer cumprir o artigo 5º, o direito de ir e vir", afirmou, em entrevista à TV A Crítica.

A seguir, disse que seus ministros estão "praticamente conversados sobre isso aí, o que fazer se um caos generalizado se implantar no Brasil pela fome". Esse quadro, segundo ele, seria causado pela "maneira covarde" como alguns governadores e prefeitos impõem medidas restritivas contra a pandemia de covid-19.

Voltou a citar o artigo 142 da Constituição, que o presidente e os bolsonaristas mais fanáticos interpretam como um e livre para intervenção militar — o que é totalmente falso.

Em meio à pandemia que brevemente baterá a marca de 400 mil mortos, todos deveriam estar voltados para combater a doença, mas a principal autoridade do país a toda hora solta bravatas contra a normalidade democrática. Espera-se que as instituições — que dizem estar funcionando — respondam à altura a mais essa ameaça de Bolsonaro.

Um dos caminhos para conter a escalada de sandices presidenciais seria a I da Covid, cuja instalação ocorrerá na terça-feira. Já que o presidente diz que combinou com o ministro da Defesa um plano para usar o Exército contra as medidas restritivas, os senadores têm mais um motivo para convocar Braga Netto a depor.

O general da reserva já tinha boa chance de ser chamado a explicar o mau desempenho do Comitê de Crise contra a pandemia, que dirigiu enquanto esteve à frente da Casa Civil. Agora, terá algo mais a esclarecer: o suposto plano de golpe contra governadores que tentam evitar mais mortes por coronavirus.

Nessa entrevista em Manaus, Bolsonaro deu mais uma prova de que não vai recuar de suas ameaças, apesar de as Forças Armadas terem emitido seguidos sinais de que não embarcarão em aventuras autoritárias.

Nas quatro linhas em que o presidente imagina jogar, seu time pode usar qualquer recurso para atacar o adversário. Ignora o juíz e acha que pode fazer o que lhe der na telha.

Diante desse cenário, o time dos amantes da democracia tem que reforçar a defesa e se manter atento. Os zagueiros que se preparem para entrar em ação, porque, ao que tudo indica, o jogo vai ser duro.