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

Bolsonaro ataca imprensa, volta a duvidar de urna e defende desobedecer STF

Rafael Neves

Do UOL, em Brasília

07/06/2022 18h41Atualizada em 07/06/2022 19h46

O presidente Jair Bolsonaro (PL) fez um discurso marcado por ataques à imprensa, à oposição e a ministros do STF (Supremo Tribunal Federal) em cerimônia no Palácio do Planalto, hoje à tarde. Além de repetir acusações falsas sobre as urnas eletrônicas e criticar medidas dos magistrados, o presidente indicou que pode não cumprir determinadas decisões da Corte.

"Eu fui do tempo que decisão do Supremo não se discute, se cumpre. Eu fui desse tempo, não sou mais! Certas medidas saltam aos olhos dos leigos. É inacreditável o que fazem, querem prejudicar a mim e prejudicam o Brasil", disse o presidente. A frase era uma referência à questão do marco temporal da demarcação das terras indígenas, que estava na pauta da Corte deste mês, mas acabou adiada.

Bolsonaro falou no lançamento do programa "Brasil pela vida e pela família", do Ministério da Mulher, Família e Direitos Humanos. Durante quase meia hora, porém, o presidente praticamente não tocou no assunto. Ao criticar o TSE (Tribunal Superior Eleitoral), ele declarou que não será "feito de idiota" e enfatizou, em tom de ameaça, que é o chefe das Forças Armadas.

Bolsonaro citou uma declaração do atual presidente da Corte eleitoral, Edson Fachin, de que as eleições são um assunto para forças civis e desarmadas. Segundo Bolsonaro, a fala de Fachin foi ofensiva porque o próprio tribunal convidou o Exército a participar da comissão de transparência eleitoral para o pleito de 2022.

"Convidaram eles [o Exército] para que, ora bolas? Para fazer papel de quê? Eu que sou chefe das Forças Armadas. Nós não vamos fazer o papel de idiotas. Eu tenho a obrigação de agir. Tenho jogado dentro das quatro linhas, não acho uma só palavra minha, gesto ou ato fora da Constituição", disse ele.

Imprensa

Em outro momento do discurso, Bolsonaro criticou decisões tomadas contra comunicadores bolsonaristas no âmbito do chamado inquérito das fake news, do STF. Ao tratar do assunto, o presidente aproveitou para atacar veículos de comunicação.

A fala contrária à imprensa ocorreu no mesmo dia em que Bolsonaro foi condenado pela Justiça de São Paulo a pagar uma indenização de R$ 100 mil a título de indenização por dano moral coletivo à categoria dos jornalistas. O valor, se for pago, será revertido ao Instituto Vladimir Herzog, que leva o nome de um jornalista morto pela ditadura militar.

"Deputados que estão aqui que estejam nos ouvindo vai chegar a sua hora se você não se indignar. Não existe especificação penal para fake news. Se for para punir com fake news a derrubada de páginas, fechem a imprensa brasileira que é uma fábrica de fake news. Em especial, Globo e a Folha
Bolsonaro, em pronunciamento no Planalto

Segundo a juíza Tamara Hochgreb Matos, da 24ª Vara Cível da Comarca de São Paulo, os ataques incentivados pelo presidente "contribuíram para os ataques virtuais e até mesmo físicos que aram a sofrer jornalistas em todo o Brasil, constrangendo-os no exercício da liberdade de imprensa, que é um dos pilares da democracia".