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

Chico Alves

Witzel não tem força política para evitar o impeachment

Wilson Witzel , governador do Rio - Reprodução/TV Globo
Wilson Witzel , governador do Rio Imagem: Reprodução/TV Globo

Colunista do UOL

10/06/2020 17h55

É muito grande a probabilidade de que a abertura do processo de impeachment do governador Wilson Witzel, decidida hoje pela Assembleia Legislativa fluminense, acabe resultando no afastamento definitivo do chefe do Executivo. Além da gravidade das denúncias de corrupção na contratação de empresas e compra de equipamentos para combate à pandemia, o governador não tem mais qualquer apoio no Legislativo. O fato de que 69 dos 70 deputados votaram a favor da abertura da investigação comprova isso.

Mesmo sabendo que teria poucas chances, Witzel tentou se agarrar a um fiapo de esperança e ligou antes da sessão de hoje para alguns deputados não identificados abertamente como oposição. Buscou conseguir votos que impedissem a abertura do processo, mas as respostas que ouviu foram frustrantes. "O governador me ligou e eu disse a ele que votaria pela abertura do processo do impeachment", disse André Correa (DEM).

Além disso, nos últimos dias Witzel chegou a acenar com bandeira branca para o presidente Jair Bolsonaro, que virou desafeto desde que o governador do Rio anunciou, no ano ado, a intenção de concorrer a presidente em 2022. A preocupação de Witzel não era apenas o processo de impeachment, mas também a investigação da Polícia Federal sobre maracutaias nos gastos para combater o coronavírus, que resultou em busca e apreensão no Palácio Laranjeiras. Funcionários do governo relatam que seu maior temor é ser preso.

Deputados próximos ao presidente disseram, porém, que não há chance de reconciliação.

Para piorar, Witzel está na mão do governo federal, por conta da necessidade de renovação do regime de recuperação fiscal, em agosto. Sem isso, o estado não terá dinheiro para pagar servidores e fornecedores.

Mesmo antes de renovar o acordo, o governo tem que pagar à União R$ 600 milhões até o dia 15 de julho — dinheiro que até agora não se sabe de onde virá.

O raquitismo político de Witzel é tão grande que quem está articulando alternativas para levantar essa quantia é o presidente da Alerj, André Ceciliano (PT).

Por esses e outros motivos, a impressão unânime dos deputados é que, ao fim do processo iniciado hoje, Wilson Witzel deixará de ser governador do Rio de Janeiro.