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

Pelo menos metade das operações da PRF hoje ocorreram no Nordeste

Do UOL, em São Paulo

30/10/2022 16h22

Ao menos metade das operações da PRF (Polícia Rodoviária Federal) em dia de eleição de segundo turno no Nordeste, que interferiram nos fluxos de transportes públicos e privados de eleitores, ocorreram na região do Nordeste. As operações estariam sendo realizadas mesmo após a proibição de qualquer ação que afete o transporte público dos eleitores, determinada pelo presidente do TSE (Tribunal Superior Eleitoral), o ministro Alexandre de Moraes, na noite de ontem.

Segundo detalhamento obtido pela TV Globo, foram registradas 549 operações da PRF no início do dia. 49,50% (272 ações) ocorreram no Nordeste, 22,22% (122) foram no Centro-Oeste, 10,70% (59) no Norte, 8,74% (48) no Sudeste e outros 8,74% (48) no Sul.

Apesar da manifestação de eleitores e políticos contra as operações, Moraes negou que as ações "impediram a votação". Durante coletiva de imprensa realizada na tarde de hoje, o ministro reforçou que foi determinado que as polícias interrompessem as ações.

Ao TSE, o diretor-geral da PRF (Polícia Rodoviária Federal), Silvinei Vasques, explicou que as ações foram realizadas com base no Código de Trânsito Brasileiro. Intimado, explicou que foram parados veículos com problemas para circular em segurança, como pneu careca e farol quebrado, mas que nenhum deles voltou à localidade de origem e todos seguiram ao destino final.

"Isso, em alguns casos, retardou a chegada dos eleitores até a seção eleitoral. Mas, em nenhum dos casos, impediu os eleitores de chegarem às suas seções eleitorais. Em que pese que será apurado caso a caso", disse o presidente do TSE.

O ministro negou a possibilidade de extensão do horário de votação. Neste ano, o horário de votação foi unificado para acontecer das 8h às 17h, pelo horário de Brasília, em todas as seções eleitorais do país.

Ontem, em suas redes sociais, o diretor-geral da PRF postou um vídeo em apoio ao presidente Jair Bolsonaro (PL), candidato à reeleição.

Eleitores reclamam de operações. Pelas redes sociais, eleitores estão compartilhando registros de operações e abordagens da PRF que estariam atrapalhando a viagem aos locais de votação. Um ageiro de uma van que foi parada na BR-101, na cidade de Teotônio Vilela (AL), logo depois da Usina Seresta, conversou com a reportagem do UOL, descreveu a abordagem como "tranquila", mas disse que atrasou a viagem em "cerca de 30 minutos".

Campanha de Lula acionou TSE. A coligação Brasil da Esperança, do ex-presidente Luiz Inácio Lula da Silva (PT), enviou uma manifestação ao tribunal afirmando que teve conhecimento de operações conduzidas pela PRF, "principalmente na região Nordeste", para supostamente impedir a circulação de veículos com eleitores do petista. Depois, o grupo pediu ao ministro Alexandre de Moraes a prisão de todos os envolvidos em operações da PRF que estejam afetando o transporte de eleitores.