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

Leonardo Sakamoto

ANÁLISE

Texto baseado no relato de acontecimentos, mas contextualizado a partir do conhecimento do jornalista sobre o tema; pode incluir interpretações do jornalista sobre os fatos.

Bolsonaro ameaçou Biden com pólvora, mas só pode mostrar cinzas da Amazônia

Ansa
Imagem: Ansa

Colunista do UOL

22/04/2021 04h58

Receba os novos posts desta coluna no seu e-mail

Email inválido

O início da Cúpula de Líderes sobre o Clima, nesta quinta (22), será a primeira vez em que Jair Bolsonaro encontrará, mesmo que virtualmente, Joe Biden, presidente dos Estados Unidos. Ele poderia aproveitar a ocasião e repetir o que disse, em novembro ado, quando ameaçou mostrar sua "pólvora" para o norte-americano. Mas não vai, pois o único pó escuro que tem para mostrar são cinzas e fuligem.

"Assistimos há pouco a um grande candidato à chefia de Estado dizer que, se eu não apagar o fogo da Amazônia, levanta barreiras comerciais contra o Brasil. E como é que podemos fazer frente a tudo isso? Apenas a diplomacia não dá, não é, Ernesto [Araújo, demitido por fazer muita porcaria]? Quando acaba a saliva, tem que ter pólvora, senão não funciona", disse o presidente em uma ameaça que causou vergonha alheia transnacional.

Biden havia afirmado, em um debate eleitoral com Donald Trump, que o Brasil poderia sofrer consequências econômicas significativas caso não parasse de destruir a floresta. O que nem era uma previsão, mas uma constatação, uma vez fundos de investimento já estavam tirando dinheiro do país por conta do nível acelerado de destruição da região.

Insatisfeito com a meta de vergonha alcançada na primeira declaração, Bolsonaro resolveu dobrar a meta e deu outra declaração.

"Ele [Biden] está querendo, parece, romper o relacionamento com o Brasil por conta da Amazônia. Sabemos que alguns países do mundo têm interesse na Amazônia. E nós temos que fazer o quê? Dissuadi-los disso. E como você faz a dissuasão disso? Ter Forças Armadas preparadas", afirmou.

O presidente sabe que nem os EUA, nem ninguém vai invadir a Amazônia, mas aproveitou a declaração de Biden para excitar seguidores de extrema direita e desviar o foco da responsabilidade sobre os impactos causados por suas ações na região, além de justificar um aumento no ree de recursos às Forças Armadas, que ele vê como "meu Exército" particular.

"Por que se um dia algum país, alguma potência, resolver fazer uma besteira contra o Brasil, a gente vai fazer o quê? Vai fazer o quê? Vai ficar quieto, né? E daí? Vai fazer o quê? Vai meter o rabo entre as pernas?", questionou.

O mais irônico é que essa retórica do presidente não sobrevive a uma análise do seu próprio histórico. Verás que um filho teu não foge à luta? Difícil acreditar que o verso do Hino Nacional se aplique a ele se até de debate eleitoral fugiu, mesmo com os médicos garantindo que tinha condições de participar no segundo turno de 2018.

O Brasil sempre garantiu o respeito à sua soberania junto à comunidade internacional através do diálogo realizado por uma diplomacia independente e respeitada e pela demonstração de boa vontade representada através de compromissos internacionais. Durante a gestão Bolsonaro, contudo, nossa diplomacia ou a ser vista como vassala não dos Estados Unidos, mas especificamente de Trump. Também amos a ser considerados párias ambientais e vilões da mudança climática e uma ameaça sanitária global por causa do descontrole do coronavírus.

Bolsonaro não chamará Biden para a chincha. Vai tentar distensionar e apagar a má impressão inicial. O Tio Sam também está nessa toada, por interesses geopolíticos e comerciais.

Mas Bolsonaro vai levar sim outras coisas para a reunião, como um pacote de mentiras para entregar aos colegas. Como a de que vem combatendo firmemente o desmatamento, quando, na verdade, foi responsável pelo enfraquecimento da fiscalização, a desregulamentação das regras ambientais e a sensação de liberdade total por madeireiros, garimpeiros e pecuaristas que operam de forma ilegal.

E, se não a pólvora, ele vai levar outro pó escuro para a reunião.

O cenário de fantasia narrado pelo presidente brasileiro está construído sobre uma montanha de cinzas de árvores e de fuligem que cai do céu das cidades trazida da Amazônia pelo vento. Mesmo por teleconferência, não tem como Bolsonaro não cheirar queimado.

Em tempo: Ele bem que poderia repetir, em discurso para o mundo, que a culpa pelas queimadas na Amazônia é do ator Leonardo DiCaprio. Afinal, o planeta está precisando rir de alguém um pouco.