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

Como Bolsonaro se comunica com os manifestantes nas portas dos quartéis? Entenda

Brasília

30/11/2022 18h39

Uma das páginas oficiais do presidente Jair Bolsonaro (PL) no Instagram intensificou publicações com mensagens cifradas que estão sendo interpretadas por manifestantes acampados nos arredores de instalações militares como incentivo para manutenção dos atos com características antidemocráticas. O perfil @bolsonaro.tv tem o selo de verificação da plataforma - que atesta a autenticidade de um perfil - e conta com mais de 600 mil seguidores. Desde a derrota para Luiz Inácio Lula da Silva (PT), em 31 de outubro, fez 47 postagens, mais de uma por dia, além dos stories - publicações temporárias. Em todo o mês de outubro haviam sido 26.

Na última sexta-feira, 25, quando o ministro Alexandre de Moraes, do Tribunal Superior Eleitoral (TSE), aplicou multa ao PL por má-fé ao questionar a integridade das eleições, a página publicou uma foto de Bolsonaro. Na descrição, deixou somente o emoji (um desenho gráfico) de um sino cortado.

Manifestantes interpretaram a mensagem como um apelo para não se desmobilizarem. Candidato a deputado federal derrotado pelo PL do Rio de Janeiro, Tacimar Hoendel usou as redes sociais para disseminar a versão. Ele disse que a publicação é do próprio Bolsonaro. "Vocês viram essa publicação do Bolsonaro no 'bolsonaro.tv'? É um sino com um tracinho, como se fosse "proibido sino". Você sabe o que significa sino nas Forças Armadas? Significa desistência. Quando você toca o sino, você desiste, abandona. O capitão postou "proibido tocar o sino", proibido abandonar, proibido desistir. Galera, vamos para a rua, vai para a porta do Exército, vem para Brasília", disse.

O aliado do presidente tem mais de 351 mil seguidores no Instagram. Ele tem frequentado o acampamento nas cercanias do Quartel General do Exército, em Brasília, e do Palácio do Planalto. Também já esteve com o presidente da República após o segundo turno.

Os comentários das publicações são repletos de teorias que buscam dar sentido aos conteúdos da página. Em um post do último sábado, a legenda escolhida para uma foto de Bolsonaro caminhando entre oficiais da Academia Militar das Agulhas Negras (Aman) foi "não há enigmas na imagem. Apenas uma imagem". No entanto, a imagem é acompanhada por uma música do The Police que diz "não há solução política para nossa problemática evolução, não há fé na Constituição,não há uma porcaria de revolução".

A reprodução da música foi suficiente para que os seguidores buscassem algum sentido."Pra frente dos quartéis já", escreveu um. "Liberdade não se ganha, se toma", disse outro. "presidente, dê a ordem!", foi uma das reações.

As reações de bolsonaristas indicam que a página alternativa de Bolsonaro está consolidada como uma referência para apoiadores extremistas, sobretudo depois que o presidente deixou de fazer publicações nos canais oficiais mantidos no Twitter, no Facebook e no YouTube.

Segundo especialistas, as mensagens e as interpretações na página @bolsonaro.tv vão além do "dog whistle" ou "apito de cachorro". O termo é usado no debate político americano em referência a mensagens que têm um significado irrelevante para um grupo de pessoas, mas que representa uma mensagem bem direta para o público alvo.

Para Michele Prado, pesquisadora e especialista em temas ligados ao extremismo e ao radicalismo, o comportamento da página flerta com o terrorismo ao ter um potencial alto de extremismo violento, uma vez que incentiva o pensamento conspiratório e uma dideia de guerra definitiva entre o suposto bem e o mal.