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

Bolsonaro dá apoio a acusado de fake news: "Se perder, assessoro Eduardo"

Paulo Chuchu em vídeo de apoio gravado pelo presidente Bolsonaro - Reprodução
Paulo Chuchu em vídeo de apoio gravado pelo presidente Bolsonaro Imagem: Reprodução

Wanderley Preite Sobrinho

Do UOL, em São Paulo

04/11/2020 04h00

Apesar de ter suas redes sociais bloqueadas pelo Facebook por suspeita de espalhar fake news, o candidato a vereador por São Bernardo do Campo (SP) Paulo Chuchu (PRTB) recebeu apoio formal do presidente Jair Bolsonaro (sem partido).

"Se você não decidiu por ninguém, eu peço a você que dê uma força para o Paulo Chuchu", afirmou o presidente em vídeo gravado no jardim presidencial em 24 de outubro.

Ao UOL, Chuchu —apelido de Paulo Eduardo Lopes— atribui o apoio do presidente aos serviços prestados ao filho, o deputado federal Eduardo Bolsonaro (PSL), de quem era assessor parlamentar antes de ter suas contas bloqueadas pelo Facebook.

"O apoio é resultado da parceria, proximidade com a família Bolsonaro. É natural esse apoio", diz o candidato, que espera voltar ao gabinete do padrinho político caso perca a campanha.

"Não quero trabalhar com essa possibilidade [de perder]", diz Chuchu, que afirmou só ter deixado o gabinete de Eduardo "para concorrer à campanha".

Espero ganhar, mas, se não ganhar, volto a ser assessor. Provavelmente, né? Depende do deputado, das circunstâncias. Mas, se eu não for eleito, é provável que eu volte para o mesmo lugar.
Paulo Chuchu, candidato a vereador

O apoio de Bolsonaro

O mandatário, que havia prometido entrar apenas na campanha de segundo turno, decidiu declarar voto em alguns postulantes pelo Brasil. Um deles é Chuchu.

Toda a campanha do candidato é centrada em sua relação com a família Bolsonaro. Na foto de capa do Facebook, ele aparece ao lado do presidente com a frase #EuApoioPolíticoHonesto.

Na imagem de perfil, quem aparece a seu lado é Eduardo. Embora tenha se afastado formalmente do gabinete do deputado em junho, Chuchu mantém o emprego no perfil de campanha. A descrição informa que "Chuchu é policial civil, graduando em direito e secretário parlamentar do deputado federal Eduardo Bolsonaro".

Seu mote de campanha é se gabar do apoio presidencial: "Paulo Chuchu é o ÚNICO candidato a ter apoio do presidente Bolsonaro", diz mensagem com letras maiúsculas.

O apoio formal do presidente veio após Bolsonaro almoçar com Chuchu em Brasília. "Esse apoio é muito importante, mas a responsabilidade de carregá-lo é maior ainda", afirmou o candidato na ocasião.

Contas banidas do Facebook

A conta no Facebook utilizada pela campanha de Chuchu não é a mesma que foi banida pela rede social em 8 de julho. Naquela data, o Facebook derrubou uma rede com 35 contas.

Segundo a plataforma, Chuchu fazia parte de um esquema com dezenas de perfis que escondiam a identidade dos criadores de seus 2 milhões de seguidores.

O rastreamento das contas chegou à conclusão de que os es desses perfis eram ligados aos gabinetes da família Bolsonaro. A ideia das páginas seria manipular discussões, espalhar fake news e criticar adversários políticos do clã.

Paulo Chuchu teve seis contas derrubadas. Três delas teriam se ado por redações jornalísticas, como "The Brazilian Post ABC", "The Brazilian Post" e "Notícias São Bernardo do Campo".

Chuchu é considerado o líder do Aliança pelo Brasil em São Bernardo do Campo, partido político que Bolsonaro tenta criar, ainda sem as s necessárias.

"Não espalhei fake news"

Após o bloqueio das contas, Chuchu foi à Justiça para reavê-las e alegou violação à liberdade de expressão. A 31ª Vara Cível de São Paulo, porém, negou o pedido, ao justificar falta de provas de abuso por parte do Facebook.

Segundo o candidato, ele não teme que as acusações comprometam sua campanha "porque não cometi fake news".

"A parte bolsonarista é que foi mais alvo de notícias falsas. Dizem que o presidente é racista, machista, homofóbico, o que não é verdade. Olha a popularidade dele no Nordeste", afirma.

Chuchu diz ainda que jamais atentou "contra instituições e os Poderes". "Mostre uma publicação minha", desafia. "Sou até fã de alguns ministros, como Alexandre de Moraes e Luiz Fux. Não tenho nada contra eles."

Procurado, o Palácio do Planalto não respondeu à reportagem.