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

Balaio do Kotscho

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

O trunfo de Ciro Nogueira: um homem normal chega ao Palácio do Planalto

Presidente Jair Bolsonaro (sem partido) é observado por Ciro Nogueira (PP-PI) enquanto discursa no Palácio do Planalto - Adriano Machado/Reuters
Presidente Jair Bolsonaro (sem partido) é observado por Ciro Nogueira (PP-PI) enquanto discursa no Palácio do Planalto Imagem: Adriano Machado/Reuters

Colunista do UOL

29/07/2021 18h42

Em meio ao furdunço que reinava entre as alas militar e ideológica no Palácio do Planalto, chega enfim um homem normal, para coordenar e colocar ordem na Casa Civil, ultimamente ocupada por generais. É a vez da ala política reinar.

Ciro Nogueira, 52 anos, herdeiro de tradicional família política do Piauí, advogado e empresário, é o que se pode chamar de político profissional, com vários mandatos de deputado e senador.

Homem cordato e conciliador, sempre foi mais afeito aos bastidores do que aos microfones e holofotes dos plenários.

Sua principal missão, como já declarou, será cuidar das relações com parlamentares, em especial com o Senado, onde o governo enfrenta a I da Covid e tem dificuldades para aprovar nomeações nas sabatinas que estão programadas, como a de André Mendonça, para o Supremo Tribunal Federal.

Cabe também ao chefe da Casa Civil, no entanto, coordenar o trabalho de todos os ministérios e programas de governo, uma experiência que ele nunca teve. Resta saber quais serão os programas de governo, que ainda não foram anunciados.

O senador piauiense é conhecido como um bon vivant, que não gosta de acordar cedo, adora viagens, roupas e restaurantes finos, e dá uma boiada para fugir de conflitos.

À frente da tropa do Centrão, agora instalada no coração do governo, com bom transito também na oposição, Ciro é a esperança de que o Palácio do Planalto possa viver um tempo de calmaria.

Não será nada fácil. Ainda sem tomar posse oficial no cargo, o novo chefe da Casa Civil já terá que enfrentar a guerra aberta por Bolsonaro na defesa do "voto impresso e auditável", que o fez entrar em choque com ministros do Supremo Tribunal Federal e Superior Tribunal Eleitoral, contrários à mudança.

Ciro também era contra, até outro dia, com o seu PP fazendo parte do grupo de 11 partidos que querem derrubar a iniciativa na Câmara.

Isso quase aconteceu na véspera do recesso parlamentar, mas uma manobra do relator Filipe Barros (PSL-PR) adiou a decisão para agosto.

Barros festejou a chegada de Ciro Nogueira como primeiro-ministro do novo governo Bolsonaro 3.0, informa a Folha:

"Essa reforma ministerial feita pelo presidente Bolsonaro certamente vai nos auxiliar, fortalecendo a base no Congresso Nacional. Então eu tenho a convicção de que a gente vai conseguir avançar com essa pauta".

Se a proposta por acaso for aprovada, o que ainda é muito incerto, com certeza será derrubada nos tribunais superiores, como já aconteceu três anos atrás. E aí vão chamar um cabo e um soldado?

Depois da cloroquina e da imunidade de rebanho, o voto impresso tornou-se a grande bandeira de Bolsonaro, que roda nas suas redes sociais, e avisa: sem isso, as eleições serão fraudadas. E podem nem acontecer.

Ciro, que já foi lulista roxo até a eleição de 2018, sabe que o problema não é o sistema de apuração, mas a atual falta de votos do seu novo líder para enfrentar o ex-presidente nas urnas, como revelam todas as pesquisas.

Por mais jeitoso que seja, até onde Ciro estará disposto a comprar essa briga pelo chefe?

Até que ponto Bolsonaro aceitará ser contrariado depois de botar uma coisa na cabeça?

Sabemos que o Centrão sempre foi da base de todos os últimos governos, mas nunca teve o manche nas mãos. Era força auxiliar, jamais tinha ocupado a chefia da Casa Civil.

Esse homem normal levado ao Planalto também terá que saber lidar com a insatisfação dos militares desalojados de seus cargos para dar lugar ao Centrão, uma operação que ainda está só no início.

Bolsonaro e Ciro nunca foram próximos, mesmo quando estavam no mesmo partido, o PP criado por Paulo Maluf. Um era da elite do Congresso, e o outro nunca subiu do baixo clero antes de se eleger presidente.

Em 2014, quando Bolsonaro tentou se candidatar pela primeira vez a presidente, Ciro Nogueira já era cardeal do PP e cortou-lhe as asas.

Agora, com a popularidade em queda, a I da Covid descobrindo todo dia mal feitos do governo, a inflação e a insatisfação popular subindo, o capitão presidente não tinha outra saída. Voltou ao antigo ninho, de onde, na verdade, nunca saiu.

A campanha contra a "velha política" encarnada pelo Centrão, "não sobra um meu irmão", era só estratégia eleitoral, assim como o combate à corrupção com Sergio Moro de ministro por pouco tempo.

Vida que segue.