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

Esse conteúdo é antigo

Filhos de Bolsonaro criticam Covas e Boulos nas redes sociais

Carlos e Jair Bolsonaro - Reprodução/Instagram
Carlos e Jair Bolsonaro Imagem: Reprodução/Instagram

Bruno Ribeiro

São Paulo

02/11/2020 07h00

O vereador carioca Carlos Bolsonaro (Republicanos) e o deputado federal Eduardo Bolsonaro (PSL-SP), filhos de Jair Bolsonaro, postaram críticas diretas a adversários do apresentador Celso Russomanno (Republicanos), candidato a prefeito de São Paulo apoiado pelo presidente, nas redes sociais. O alvo principal é Guilherme Boulos (PSOL), terceiro colocado na última pesquisa Ibope/Estadão/TV Globo.

De acordo com o levantamento publicado no dia 30, Russomanno caiu de 25% para 20% das intenções de voto. Já Boulos subiu de 10% para 13%. O líder é o atual prefeito Bruno Covas (PSDB), que cresceu de 22%, no dia 15, para 26% agora.

A 13 dias da eleição, o cenário da disputa segue incerto na capital paulista com outro postulante também no páreo: Márcio França, que subiu de 7% para 11%.

De olho nas pesquisas, tanto Carlos quanto Eduardo publicaram textos no Twitter acusando Boulos de mentir sobre sua ocupação profissional. Eles repercutiram uma reportagem do jornal Folha de S.Paulo do dia 29 que questionou informação supostamente incorreta de que Boulos seria professor da Escola de Sociologia e Política.

A publicação de Eduardo dizia "Boulos mente". Já o texto de Carlos questionou se o assunto seria repercutido pela "Grobo".

Boulos argumenta que lecionou na instituição até novembro do ano ado, mas não como funcionário registrado. Neste ano, o candidato não retomou o trabalho, segundo ele, por causa da pandemia.

"Russomanno sentiu (o resultado das pesquisas) e está colocando o gabinete do ódio para nos atacar. Consta que nos grupos de Zap (WhatsApp), naquele submundo que eles têm utilizado, de mentiras, está a todo o vapor. Ele sabem que nossa candidatura é a única capaz de evitar o 'BolsoDoria' no segundo turno em São Paulo", disse Boulos, na manhã do sábado ao comentar as postagens.

Eduardo mantém fixada em sua página do Twitter (comando em que uma postagem é exibida sempre em primeiro lugar, antes dos textos mais recentes) uma mensagem em que vincula Bruno Covas ao antecessor João Doria (PSDB) e critica a detenção de uma mulher (feita por uma guarda municipal "do interior", segundo o texto) em uma praça durante a pandemia.

"Com a desculpa de proteger o cidadão o governador @jdoriajr e seu aliados, como @brunocovas, estão implantando uma ditadura. E os culpados são exatamente os que sempre acusaram JB (o presidente Bolsonaro) de autoritário!", diz a postagem.

"Cada um tem uma estratégia. Eu, como tem muita coisa que eu fiz pela cidade de São Paulo, prefiro ficar nas ações que a gente já desenvolveu e que a gente quer desenvolver pelos próximos quatro anos. Cada um tem sua estratégia e as pesquisas estão mostrando quem está com a estratégia certa", afirmou Covas, ao comentar a publicação de Eduardo.

O jornal O Estado de S. Paulo tentou contato com as assessorias do vereador do Rio e do deputado por São Paulo, mas não conseguiu localizá-las.

A campanha de Russomanno afirmou que, desde o início da disputa, Boulos escolheu o deputado como alvo de seus ataques. Em nota, disse que, com a eleição se aproximando, o candidato resolveu apimentar seus ataques com ilações. "Senhor Boulos, nós sabemos nos defender e faremos isso sempre que necessário", diz o texto.

No fim da semana ada, o candidato do Republicanos se encontrou com o presidente Jair Bolsonaro, que gravou vídeo de apoio à sua candidatura para veiculação no horário eleitoral. As informações são do jornal O Estado de S. Paulo.