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

Chico Alves

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.

Guerra judicial no Patriota ameaça planos eleitorais de Bolsonaro

O presidente Jair Bolsonaro em evento em Brasilia  - Pedro Ladeira/Folhapress
O presidente Jair Bolsonaro em evento em Brasilia Imagem: Pedro Ladeira/Folhapress

Colunista do UOL

08/06/2021 04h00

Depois de tentar se aboletar em várias legendas junto com seus aliados para concorrer à reeleição em 2022, o presidente Jair Bolsonaro encaminha a entrada no Patriota. O primeiro o foi dado com a filiação do filho, o senador Flávio Bolsonaro. Os planos eleitorais do presidente, no entanto, vão esbarrar na guerra entre dois grupos do partido que aponta para insegurança jurídica que deverá se estender ao período de eleições.

O grupo do vice-presidente do Patriota, Ovasco Resende, acusa o presidente da legenda, Adílson Barroso, de ter feito manobras ilegais para abrir caminho para a entrada de Bolsonaro e seus correligionários. Barroso diz que seguiu o que manda a lei. A decisão ficará para a Justiça.

"Temos uma série de alternativas jurídicas e vamos até às últimas consequências, não temos outro caminho", disse à coluna Jorcelino Braga, secretário-geral do partido, integrante do grupo de Ovasco Resende.

Ele relaciona as ilegalidades que Barroso teria cometido. "Como possui a senha do serviço de informação do Tribunal Superior Eleitoral (TSE), ele alterou a data da convenção sem avisar a ninguém", diz Braga. "Trocou quatro de nossos delegados por aliados dele, criou dois novos cargos, substituiu um secretário que morreu por um do seu grupo".

O secretário-geral da legenda diz que não tem opinião sobre o ingresso de Bolsonaro. "Nós não achamos nada, não sabemos condição, não sabemos a conversa, qual o projeto", explica. Mas avisa que quem optar por se candidatar pelo Patriota poderá estar com a candidatura em risco.

O vice-presidente Ovasco Resende, seu aliado, concorda. "É claro que dentro de um ambiente de embate judicial cresce muito a falta de segurança jurídica para todos que estão e também daqueles que pretendem ingressar no Partido", comentou ele à coluna.

O vice-presidente do TSE, ministro Edson Fachin, rejeitou uma ação de integrantes do Patriota que tentavam reverter atos de Barroso. Reconheceu que os fatos pareciam de "elevada gravidade", mas são da alçada da Justiça comum.

Adílson Barroso se defende dizendo que o que manda no partido é o estatuto. "Troquei os delegados como manda a lei, todos eles que fazem parte do conselho aprovaram a convenção, eu é que não queria", alega o presidente do Patriota. "Eles me autorizaram por escrito a fazer a convenção".

O dirigente partidário diz que não tem medo da Justiça, mas sim da injustiça. "O presidente da República tem advogados bons que podem verificar se tem consistência nisso ou se é só para assustar Bolsonaro", afirma Barroso. Quem acompanha o caso é o jurista ar Gonzaga, que foi ministro do TSE e um dos organizadores da fracassada tentativa de registro do partido Aliança pelo Brasil, que Bolsonaro queria criar.

Como se vê, não será simples para Bolsonaro e seus correligionários colocar em prática o planejamento eleitoral para 2022.