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

Juliana Dal Piva

REPORTAGEM

Texto que relata acontecimentos, baseado em fatos e dados observados ou verificados diretamente pelo jornalista ou obtidos pelo o a fontes jornalísticas reconhecidas e confiáveis.

Acordo aproxima Bolsonaro do PL; PP deve ficar com vice e comando da Câmara

Colunista do UOL

08/11/2021 14h34

O PL (Partido Liberal) virou o jogo nos últimos dias e está mais próximo de conseguir a filiação do presidente Jair Bolsonaro (sem partido-RJ) e seu grupo político. Há duas semanas, Bolsonaro tinha dito a Valdemar Costa Neto, presidente do PL, que ia se filiar ao partido, mas o PP (Partido Progressista) fez pressão e a decisão do presidente ficou novamente suspensa. O presidente está há dois anos sem partido e é cobrado constantemente por uma definição para viabilizar também as negociações de palanques estaduais na eleição de 2022.

O que mudou nos últimos dias? Os dois partidos e o presidente fizeram diversas negociações. O entorno bolsonarista verificou que cresciam os rumores de um desembarque do PL caso o presidente não se filiasse à legenda. Os dois partidos aram a se estranhar nos bastidores, mas o medo de perder o PL da base de apoio mexeu com o jogo.

Com isso, PP e PL aram a negociar e, para acomodar os diferentes interesses, a expectativa é que o PP indique o vice para a chapa em que Bolsonaro vai disputar a reeleição. Além disso, em caso de vitória, o PP quer apoio para que o partido continue na presidência da Câmara dos Deputados.

Antecedentes

No dia 25 de outubro, Costa Neto gravou um vídeo convidando Bolsonaro para o partido. "Estamos reiterando o convite de filiação partidária dirigido ao presidente Jair Bolsonaro, seus filhos e fiéis seguidores da causa brasileira sob sua liderança", afirmou Costa Neto, nas imagens. Aliados de Bolsonaro avaliam que o vídeo, na verdade, foi uma espécie de ultimato.

Em seguida, naquele dia, o senador Flávio Bolsonaro (Republicanos-RJ) ainda escreveu um tuíte para agradecer o convite de Costa Neto, mas disse que "aguardava" a decisão do pai, o presidente Jair Bolsonaro, e que o futuro partidário "também pode ar pelo PP". A mensagem foi lida no PL como um balde de água fria e um sinal de que o PP poderia ganhar a disputa.

Em entrevista ao Pânico, dias atrás, Bolsonaro reforçou o nome do PP: "Eu tenho que ter um partido de qualquer maneira. Eu não sei se vou disputar eleição ou não. Está cedo ainda. Hoje em dia está mais para PP ou PL. Me dou muito bem com os 2 partidos. Fiquei no PP uns 20 anos. A decisão a por aí. Agora, converso com as lideranças desses partidos", disse.

Agora, porém, o PL parece levar nova vantagem. Mas como o presidente é tido como imprevisível, integrantes do PL só garantem a filiação quando ela for anunciada por Bolsonaro.