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

Após ataques, Gilmar diz que "União se autoexcluiu" de combate à pandemia

O inistro do STF Gilmar Mendes - Felipe Sampaio/STF
O inistro do STF Gilmar Mendes Imagem: Felipe Sampaio/STF

Do UOL, no Rio

17/07/2021 18h15

O ministro do STF (Supremo Tribunal Federal) usou uma entrevista a um podcast elaborado pela comunicação interna do tribunal para responder críticas feitas pelo presidente Jair Bolsonaro (sem partido) e seus apoioadores.

Segundo ele, ao contrário do que dizem os bolsonaristas, não foi o STF que impediu uma atuação efetiva do governo federal no combate à pandemia. Gilmar afimou que o governo Bolsonaro se "autoexcluiu" das ações de combate à covid-19.

"É injusta a acusação que se faz de que o STF retirou da União a competênica para atuar nesse processo. Pelo contrário, o que o Supremo afirmou é que, na ausência da União, estados e municípios não deveriam ficar impedidos de tomar as medidas de isolamento social e outras medidas restritivas. Mas na verdade quem se autoexcluiu desse processo foi a própria União, a partir de impulsos do governo federal", disse Gilmar Mendes em entrevista ao podcast Supremo na Semana.

O recado de Gilmar vem em um momento de escalada de tensões entre o STF e Bolsonaro. Na semana ada, o presidente chamou o ministro Luis Roberto Barroso —desafeto de Gilmar— de "imbecil" e "idiota". Os ataques a Barroso, que acumula a função de presidente do TSE (Tribunal Superior Eleitoral), ocorreram por conta de sua oposição ao projeto de implantação do voto impresso no país. A crise entre os poderes fez com que o presidente do STF, Luiz Fux, se reunisse com Bolsonaro para tentar apaziguar a situação.

Com a aposentadoria de Marco Aurélio Mello, também ocorrida na última semana, Gilmar Mendes tornou-se o decano do tribunal —nome dado ao ministro a mais tempo no cargo. Bolsonaro indicou para o cargo André Mendonça, advogado geral da União.

Em outros momentos de sua entrevista, Gilmar também ou recados aos apoiadores de Bolsonaro —alvos dos inquéritos das Fake News e dos Atos Antidemocráticos nos últimos anos. Ele afirmou que o STF tem exercido um papel de "moderação" em relação aàs instituições.

"Acho extremamente importante que o tribunal atue e, nesse sentido, seja até uma instituição que cumpre o papel de moderação, estabelecendo limites. E acho que o tribunal, ao longo dos anos, tem exercido esse papel quando, por exemplo, delimita a própria liberdade de expressão, não permitindo que se divulguem discursos odientos, o chamado 'hate speech", disse.

Nesse sentido, Gilmar elogiou o trabalho do colega Alexandre de Moraes, relator dos dois inquéritos que atingiram apoiadores de Bolsonaro —incluindo seus filhos. Para ele, a condução das investigações provocou uma "reversão de expectativas" em relação aos ataques ao STF —o fechamento da corte foi uma bandeira frequente em manifestações bolsonaristas em 2019.

"Nós estávamos num crescendo de ataques ao tribunal e a partir das medidas que o ministro Alexandre de Moraes tomou tivemos um resultado", completou.