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

As críticas de Alexandre Frota que irritaram Bolsonaro e o PSL

07.maio.2019 - O deputado federal Alexandre Frota - Fátima Meira/Estadão Conteúdo
07.maio.2019 - O deputado federal Alexandre Frota Imagem: Fátima Meira/Estadão Conteúdo

João Ker

São Paulo

13/08/2019 15h36

O Partido Social Liberal (PSL) oficializou na manhã de hoje a expulsão do deputado Alexandre Frota da sigla. A decisão já havia sido adiantada pelo jornal O Estado de S. Paulo, após o parlamentar ter publicado duras críticas contra decisões e políticas do governo Jair Bolsonaro, ao qual ele se aliou em março de 2018.

O pedido para que ele fosse expulso da sigla partiu da deputada Carla Zambelli e foi subscrito pelos também deputados Caroline di Toni (SC), Bia Kicis (DF) e por Luiz Philippe de Orleans e Bragança (SP). O senador Major Olímpio (SP) também cobrou o afastamento definitivo do deputado.

Frota, que se absteve de votar o segundo turno da reforma da Previdência e classificou a indicação de Eduardo Bolsonaro para a Embaixada dos EUA como "velha política", tem se desentendido com o PSL desde que teve suas indicações para a Ancine negadas pelo partido. Abaixo, relembre algumas de suas declarações mais críticas à sigla e ao governo de Bolsonaro:

Exemplo do que há de mais velho na política

No início de agosto, Alexandre Frota assinou uma carta aberta a Bolsonaro, na qual critica ampla e abertamente a indicação de Eduardo Bolsonaro para a embaixada dos EUA. O deputado afirmou que o filho do presidente não era qualificado o suficiente para o cargo e classificou a nomeação como um "mimo". "A diplomacia nesse nível pressupõe notórios conhecimentos de política internacional, amplos relacionamentos e, sobretudo, profundas habilidades de negociação. Eduardo nada tem de diplomático, haja vista ter aventado até mesmo o fechamento do STF por 'um cabo e um soldado'", escreveu Frota.

Temos que ficar limpando as cagadas do governo

Em abril, Frota publicou uma série de mensagens em sua conta oficial no Twitter, afirmando que o PSL já havia sido ameaçado pelo governo e atacando o guru ideológico de Bolsonaro, Olavo de Carvalho. "O PSL é dividido entre a tropa de choque, os olavos amestrados e os coisas. Querem saber quando vamos nos entender? Todos os dias temos que ficar limpando as cagadas do governo e aí temos que ouvir um monte de merda que não é culpa nossa", escreveu.

Mais críticas a Eduardo Bolsonaro

A indicação de Eduardo Bolsonaro para a Embaixada dos EUA não foi o único episódio estrelado pelo filho do presidente e criticado por Frota. Ele também declarou publicamente que se opunha à indicação do colega para o comando do PSL em São Paulo, aderindo ao grupo que apoiava a escolha de Joice Hasselmann para essa função. "Estou aguardando há dez dias os documentos de prestações de conta do diretório estadual e até agora não me enviaram", afirmou o deputado. Na mesma semana, ele publicou em suas redes sociais uma matéria especial do Estado sobre os seis meses do caso Queiroz.

Só duas vezes tivemos paz: quando o Twitter ficou fora do ar e quando o Bolsonaro tirou o dente

No final de julho, depois de já ter criticado algumas falas do presidente em seu Twitter, o deputado expressou mais uma vez a sua indignação com o comportamento de Jair Bolsonaro, afirmando que os aliados do governo só tiveram paz em dois momentos, desde a posse: "quando o Twitter ficou fora do ar e quando Bolsonaro tirou o dente". A declaração foi dada em entrevista à Folha.

Para governar precisa contar com os deputados

Frota foi um dos principais articuladores e estrategistas do PSL durante o primeiro turno de votações da reforma da Previdência na Câmara dos Deputados. Na época, ele criticou a falta de empenho do presidente em aprovar o texto, ao não estabelecer uma base de apoio maior no Congresso: "Bolsonaro precisa agora entender que para governar precisa contar com os deputados, não é o Olavo de Carvalho que vota a Previdência, ele não é deputado".