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

TSE arquiva ação contra Bolsonaro em caso envolvendo dono da Havan

Jair Bolsonaro (PSL), à direita, ao lado do empresário e dono da Havan, Luciano Hang - Reprodução/Facebook - 10.out.2018
Jair Bolsonaro (PSL), à direita, ao lado do empresário e dono da Havan, Luciano Hang Imagem: Reprodução/Facebook - 10.out.2018

Felipe Amorim

Do UOL, em Brasília

13/12/2018 11h22

O TSE (Tribunal Superior Eleitoral) arquivou nesta quinta-feira (13) uma ação movida pelo PT contra o presidente eleito Jair Bolsonaro (PSL) por supostas irregularidades na campanha. É a segunda ação desse tipo contra Bolsonaro que é arquivada pelo Corte, mas há ainda outros oitos processos em tramitação contra a campanha do presidente eleito.

O arquivamento foi determinado por unanimidade pelos sete ministros do TSE. A ação, uma Aije (Ação de Investigação Judicial Eleitoral), pedia a inelegibilidade de Bolsonaro e a cassação do mandato, se o caso fosse julgado após a posse na Presidência.

Nesse processo, o PT acusou a campanha de Bolsonaro de abuso de poder econômico. A ação sustentou que o empresário Luciano Hang, dono da rede de lojas Havan, teria constrangido seus funcionários a votar em Bolsonaro, "sob ameaças de fechamento de lojas" e demissão.

O relator, ministro Jorge Mussi, afirmou que não ficou comprovada coação aos funcionários e que o episódio não teria o potencial de influenciar o resultado das eleições.

Na sessão da terça-feira (11) o TSE decidiu arquivar outra ação semelhante contra a campanha de Bolsonaro. O processo, também movido pelo PT, acusava o empresário Denisson Moura de Freitas, dono da Komeco, empresa que vende aparelhos de ar-condicionado, de ter enviado um áudio a funcionários da empresa pedindo que os trabalhadores usassem adesivos e camisetas em apoio à candidatura de Bolsonaro.

O TSE decidiu arquivar esta ação contra o dono da Komeco por entender que não houve prática abusiva e que não já provas de que tenha havido de fato a distribuição de material de campanha aos funcionários.

Outras ações

Uma terceira Aije movida pelo PT acusa a campanha de Bolsonaro de irregularidades na campanha por ter supostamente contado com o apoio irregular de empresários, que pagaram o envio em massa de mensagens por WhatsApp com críticas ao adversário do PT, Fernando Haddad, que terminou derrotado no segundo turno.

Há ainda uma quarta ação de autoria do PT, acusando a campanha de Bolsonaro de ter sido beneficiada irregularmente por outdoors com propaganda eleitoral instalados de forma ilegal, pois a legislação eleitoral proíbe o uso de outdoors na campanha.

No domingo (9), o PT apresentou mais duas ações contra Bolsonaro no TSE. Uma das ações tem como base reportagem da "Folha de S. Paulo", publicada em 2 de dezembro, que apresenta relatos e documentos sobre o uso fraudulento de nome e F de idosos para que fossem feitos disparos em massa de mensagens de Whatsapp nas eleições.

A outra ação acusa Bolsonaro e a TV Record de uso indevido de meio de comunicação social pelo que classifica como "tratamento privilegiado" concedido ao então candidato durante a campanha eleitoral deste ano.

Há ainda outras três ações eleitorais contra a campanha de Bolsonaro movidas pelo PDT e pela candidata derrotada Marina Silva (Rede), que tratam das suspeitas de campanha ilegal no WhatsApp e do ataque hacker à página no Facebook "Mulheres contra Bolsonaro", que trazia críticas à candidatura do PSL.