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

Kennedy Alencar

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.

PT elogia Meirelles, que fez discurso de ministro da Fazenda em ato em SP

Colunista do UOL

25/10/2022 11h57

Receba os novos posts desta coluna no seu e-mail

Email inválido

Henrique Meirelles fez discurso de ministro da Fazenda. Foi assim que a fala do ex-presidente do Banco Central no governo Lula foi vista por petistas que compareceram ao ato de campanha desta terça-feira na PUC (Pontifícia Universidade Católica) de São Paulo.

As palavras de Meirelles agradaram o ex-presidente Lula, sobretudo a parte em que ele disse que é o presidente Jair Bolsonaro quem deseja um "cheque em branco" na economia. No mercado financeiro, é frequente a crítica de que Lula desejaria um "cheque em branco".

No entanto, Meirelles ressaltou a responsabilidade fiscal no governo Lula e as políticas de geração de emprego e renda.

Lula tem evitado adiantar nomes de ministros, sobretudo para comandar a área econômica. No entanto, Meirelles está, sim, no radar do presidente para comandar alguma posição importante no eventual futuro governo. Economistas de outros partidos, como os pais do Plano Real, também podem ser chamados a colaborar.

No ato na PUC, Lula disse que, se eleito, não fará um governo do PT. Ou seja, aplicará a lógica de frente ampla para governar e consertar o estrago do bolsonarismo no país.

Posto Ipiranga. A campanha do PT considera que acabou de ganhar mais um presente do ministro da Economia, Paulo Guedes. Segundo o jornal "O Estado de S. Paulo", a equipe econômica tem uma proposta de retirar dedução com saúde e educação do IRPF (Imposto de Renda das Pessoas Físicas). Guedes já negou, mas o estrago está feito. O PT vai utilizar a reportagem na sua propaganda política.

Propostas econômicas de Guedes, como acabar com a correção do salário mínimo pela inflação ada, têm servido de munição para Lula enfraquecer Bolsonaro na reta final da campanha.

Tiros pela culatra. O PT avalia que conseguiu acuar Bolsonaro politicamente nas últimas duas semanas, retomando o controle sobre a agenda em debate na campanha. Integrantes do partido citam os episódios das meninas venezuelanas, as propostas econômicas de Guedes e o ato terrorista de Roberto Jefferson, que tentou matar no domingo quatro policiais federais que cumpriam ordem de prisão contra o aliado do presidente.

Fogueira. O debate da Rede Globo, que acontecerá às 21h30 de sexta, é visto como último grande desafio pelo PT para manter dianteira e enfrentar máquina de fake news na chegada. Os petistas estão preparando mobilização nas redes para enfrentar Bolsonaro e seu ecossistema de fake news na sexta, sábado e domingo. Esses temas foram abordados no "Radar das Eleições", programa especial do UOL.

  • Assista à íntegra do videocast O Radar Das Eleições: