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

Paes processará Crivella por associar PSOL a pedofilia em eventual governo

O atual prefeito Marcelo Crivella (Republicanos) e o ex-prefeito Eduardo Paes (DEM) disputam o segundo turno da eleição do Rio - Arte/UOL
O atual prefeito Marcelo Crivella (Republicanos) e o ex-prefeito Eduardo Paes (DEM) disputam o segundo turno da eleição do Rio Imagem: Arte/UOL

Do UOL, em São Paulo

19/11/2020 22h48Atualizada em 19/11/2020 22h56

Candidato à Prefeitura do Rio de Janeiro, Eduardo Paes (DEM) declarou na noite de hoje que processará o atual prefeito e seu adversário no segundo turno, Marcelo Crivella (Republicanos), por associá-lo ao PSOL e à pedofilia.

Em vídeo que circula nas redes sociais, Crivella aparece ao lado do deputado Otoni de Paula (PSC-RJ) afirmando que Paes fechou um acordo para entregar a secretaria de Educação ao PSOL e que isso implicaria em implementar "pedofilia nas escolas"; o prefeito não apresentou qualquer prova durante a declaração.

Paes afirmou, em nota, que não há acordo político nem troca de cargos com o PSOL e que não imaginava que Crivella "seria capaz de ir tão longe na baixeza e na mentira".

Ele declarou que processará o atual prefeito em esfera eleitoral, cível e criminal.

O PSOL não se manifestou até a publicação deste texto. A sigla ainda não declarou apoio a nenhum candidato, embora nomes do partido, como o deputado federal Marcelo Freixo, defendam "apoio crítico" contra Crivella.

O vídeo de Crivella

"Tem um inimigo que, se pudesse, daria outra facada no Bolsonaro, que é o PSOL. O PSOL está com o Eduardo Paes. O PSOL, dizem, vai tomar conta da secretaria de Educação. Agora, você imagina... Pedofilia nas escolas", disse Crivella no vídeo. "Vamos aceitar pedofilia na escola no ensino infantil?", continuou ele.

Otoni, ao fim da fala do prefeito, acrescentou: "É um risco que nós estamos correndo se o Eduardo for eleito".

A íntegra da nota de Paes

"Na tarde de hoje, o atual prefeito do Rio Marcelo Crivella fez uma declaração pública de que um acordo meu com o PSOL, garantiria a eles a secretaria de Educação e que este fato levaria à promoção de pedofilia nas escolas e que por isso, representaria um risco para as nossas crianças.

Em primeiro lugar, não há qualquer acordo político, nem troca de cargos com o PSOL, nem de minha parte, nem da deles e, esta atitude reflete o desespero dele com a crescente perspectiva de derrota nas urnas, mas não imaginava que seria capaz de ir tão longe na baixeza e na mentira.

Ele será processado eleitoral, cível e criminalmente por essa gravíssima e mentirosa acusação."

Outro vídeo de Crivella atacava Doria com xingamento

Ainda hoje, pela manhã, outro vídeo de Crivella atacando um político viralizou nas redes sociais. Trata-se do governador de São Paulo, João Doria (PSDB), a quem o prefeito carioca xingou de "vagabundo" e o chamou de um termo homofóbico, "viado", na tentativa de ofendê-lo.

Depois, em nota enviada ao UOL, Crivella pediu desculpas ao tucano, que lamentou o ocorrido e disse que o carioca "se apequena".

Pesquisa Datafolha divulgada hoje mostra Paes na liderança das intenções de voto, com 54%. Crivella tem 21%.