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

Esse conteúdo é antigo

FHC, Dilma e Lula criticam Bolsonaro por apoio a ato contra o Congresso

Presidente Jair Bolsonaro em Brasília -
Presidente Jair Bolsonaro em Brasília

Do UOL, em São Paulo

26/02/2020 08h59Atualizada em 26/02/2020 20h53

Diversos políticos, de esquerda e de direita, manifestaram-se contra o presidente Jair Bolsonaro (sem partido), que tem compartilhado vídeos via WhatsApp em apoio às manifestações pró-governo e contra o Congresso Nacional marcadas para 15 de março.

Nas redes sociais, os ex-presidentes Fernando Henrique Cardoso (PSDB), Luiz Inácio Lula da Silva e Dilma Rousseff (PT) condenaram a atitude de Bolsonaro.

"A ser verdade, como parece, que o próprio Presidente da República tuitou convocando uma manifestação contra o Congresso (a democracia) estamos com uma crise institucional de consequências gravíssimas. Calar seria concordar. Melhor gritar enquanto de tem voz, mesmo no Carnaval, com poucos ouvindo", escreveu FHC no Twitter.

Bolsonaro compartilha vídeo com convocação para ato contrário ao Congresso

O ex-presidente Lula foi mais duro na crítica e chamou Bolsonaro de "falso patriota" e "falso moralista".

"O que o Brasil precisa é gerar empregos, tirar o povo da pobreza. Bolsonaro nunca combinou com democracia. É um falso patriota que entrega nossa soberania aos EUA e condena o povo à pobreza. Um falso moralista que acoberta o Queiroz e outros corruptos e criminosos", disse Lula no Twitter.

Para Dilma, a atitude do presidente fere a democracia e aumenta o risco de o país retornar aos tempos da ditadura militar.

"Bolsonaro e o general Heleno estão atentando descaradamente contra a Constituição e a democracia ao convocar manifestação contra o Congresso Nacional. Torna-se urgente e necessária forte resposta das instituições ou o país mergulhará, mais uma vez, na escuridão das ditaduras", tuitou Dilma.

O governador de São Paulo, João Doria (PSDB), o líder da oposição na Câmara dos Deputados, Alessandro Molon (PSB-RJ) e os adversários de Bolsonaro na corrida presidencial de 2018 Ciro Gomes (PDT), Fernando Haddad (PT) e Marina Silva (Rede) também se manisfestaram nas redes sociais. Veja abaixo algumas reações de políticos:

Ouça o podcast Baixo Clero, com análises políticas de blogueiros do UOL. Os podcasts do UOL estão disponíveis em uol.com.br/podcasts, no Spotify, Apple Podcasts, Google Podcasts e outras plataformas de áudio.

O governo Bolsonaro teve início em 1º de janeiro de 2019, com a posse do presidente Jair Bolsonaro (então no PSL) e de seu vice-presidente, o general Hamilton Mourão (PRTB). Ao longo de seu mandato, Bolsonaro saiu do PSL e ficou sem partido até filiar ao PL para disputar a eleição de 2022, quando foi derrotado em sua tentativa de reeleição.