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

Moraes manda polícias identificarem quem bancou atos em quartéis e rodovias

20.out.2022 - O ministro Alexandre de Moraes durante sessão plenária do STF, em Brasília - Carlos Moura/SCO/STF
20.out.2022 - O ministro Alexandre de Moraes durante sessão plenária do STF, em Brasília Imagem: Carlos Moura/SCO/STF

Do UOL, em Brasília

07/11/2022 18h14

O ministro Alexandre de Moraes, do STF (Supremo Tribunal Federal), mandou a Polícia Federal, a Polícia Rodoviária Federal e também as Polícias Civil e Militar de todos os Estados e do Distrito Federal enviarem informações sobre a identificação de líderes, organizadores e financiadores dos atos antidemocráticos nas frentes dos quartéis das Forças Armadas.

O ministro deu prazo de 48 horas para receber as informações. Moraes também cobrou os dados de identificação dos respectivos proprietários dos veículos envolvidos nos bloqueios de estradas e nas manifestações nos quarteis, sejam pessoas físicas ou jurídicas.

"Determino, ainda, informem se identificaram líderes, organizadores e/ou financiadores dos referidos atos antidemocráticos, com a remessa dos dados e providências realizadas. Fixo o prazo em 48 (quarenta e oito horas)", disse.

Atos antidemocráticos. Desde a vitória do presidente eleito Luiz Inácio Lula da Silva no dia 30 de outubro, diversas manifestações de bolsonaristas em estradas e quartéis do país defendiam pautas antidemocráticas, como "intervenção federal" ou "intervenção militar".

Em Brasília, o grupo se concentrou em frente ao quartel-general do Exército, em uma área militar da capital federal. No Rio, a concentração foi em frente ao Palácio Duque de Caxias, sede do CML (Comando Militar do Leste), no centro da cidade.

Em São Paulo, o ato foi em frente ao Comando Militar do Sudeste, na região do Parque do Ibirapuera, zona sul da capital paulista.

Os bloqueios nas rodovias persistem em pontos isolados e perderam força ao longo da semana — hoje (7), o último balanço da PRF aponta somente quatro pontos de rodovias totalmente interditadas: Bom Jesus do Araguaia, Campos de Júlio e Sapezal (MT) e em Rio do Sul (SC) — neste último trecho, bolsonaristas usaram barras de ferro para agredir agentes da PRF.

Financiadores. Mais cedo, um dos procuradores do MPF (Ministério Público Federal) no Distrito Federal que investiga os bloqueios nas estradas feitos por apoiadores do presidente Jair Bolsonaro (PL), Frederico Paiva disse que suspeita que os grupos tenham um financiamento oculto.

"Os caminhoneiros tinham cobertura por trás. Ninguém abre mão de trabalhar por todo esse tempo se não há cobertura financeira por trás", afirmou ele em entrevista à GloboNews.

Para ele, identificar quem são os supostos financiadores é mais importante do que descobrir quem são os motoristas que participaram das manifestações antidemocráticas.

"É de fundamental importância identificar quem fomentou esse movimento, e que sofra severa punição", disse. "Se não conseguir punir, vai acontecer de novo".