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

Thaís Oyama

O preço do arroz despertou os instintos mais primitivos de Bolsonaro

O ministro da economia, Paulo Guedes: como professor, reprovado - REUTERS/Adriano Machado
O ministro da economia, Paulo Guedes: como professor, reprovado Imagem: REUTERS/Adriano Machado

Colunista do UOL

10/09/2020 10h29

No seu quarto mês de governo, em abril do ano ado, Jair Bolsonaro soube que a Petrobras iria aumentar o preço do diesel. Não teve dúvidas. ou a mão no telefone e ligou para o presidente da estatal, Roberto Castello Branco, ordenando o cancelamento do reajuste. As ações da petroleira caíram mais de 8%.

Paulo Guedes teve de correr para pagar o incêndio. Trancou-se com o chefe em seu gabinete para uma aula de emergência. O tema: "motivos pelos quais um presidente da República não deve querer controlar o preço dos combustíveis do seu país".

À saída da reunião, o ministro declarou aos jornalistas que o presidente havia "entendido como funcionava a política de preços" e não iria mais interferir na Petrobras.

Na sequência, o então porta-voz da Presidência, o general Otávio Rêgo Barros, juntou-se ao ministro na tentativa de aplacar a taquicardia do mercado: "Uma frase que o nosso presidente disse logo no início da reunião: 'Eu não quero e não tenho direito de intervir na Petrobras'".

Guedes deveria ter feito o seu pupilo repetir a frase dez vezes em voz alta.

As aulas do ministro não foram suficientes para sufocar os instintos mais primitivos do presidente, como se viu no episódio do arroz.

Presidente parte para cima dos produtores

Enquanto Guedes tratava de medidas para suspender o imposto de importação sobre o produto, de modo a tentar achatar a curva alarmantemente ascendente dos preços, Bolsonaro mexia os pauzinhos para intimidar os produtores por meio de um "pedido de esclarecimentos" sobre a alta da cesta básica feito pela Secretaria Nacional do Consumidor. A secretaria é subordinada ao Ministério da Justiça, do fidelíssimo e obediente André Mendonça.

O presidente, que começou a crise do arroz pedindo "patriotismo" aos comerciantes, agora já se vê no direito de pedir satisfações aos produtores.

O caso da Petrobras teve um final feliz. O do arroz ainda não se sabe.

Entre os dois episódios, há diferenças importantes.

A principal delas é que, no caso do aumento do diesel, havia um presidente recém empossado que via no seu ministro da economia um Posto Ipiranga.

Hoje, o que se tem é um presidente de olho na reeleição — e que começa a achar que entende de economia.