;(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();
})();
O ministro Alexandre de Moraes, do STF (Supremo Tribunal Federal), classificou como "gravíssimo" o comportamento do ex-secretário de Segurança Pública, Anderson Torres, afirmando que ele poderia ter colocado "em risco" a vida de diversas autoridades do país.
Segundo o ministro, está "amplamente comprovada" a omissão de Torres na invasão às sedes dos Três Poderes. A afirmação consta em decisão que mandou prender Anderson Torres nesta terça-feira (10). Moraes atendeu a uma representação do diretor-geral da Polícia Federal, Andrei os.
Anderson Torres afirmou que tomou conhecimento da decisão de Moraes e voltará ao Brasil. Ele está nos Estados Unidos desde o início do mês e foi exonerado durante a invasão e depredação do Palácio do Planalto, do Congresso e do Supremo Tribunal Federal.
Hoje (10/01), recebi notícia de que o Min Alexandre de Moraes do STF determinou minha prisão e autorizou busca em minha residência. Tomei a decisão de interromper minhas férias e retornar ao Brasil. Irei me apresentar à justiça e cuidar da minha defesa.
Além de Torres, o ministro também determinou a prisão preventiva do ex-comandante da Polícia Militar, Flavio Augusto Vieira, e autorizou buscas em endereços ligados aos dois.
Segundo Moraes, a omissão de Torres e do ex-comandante da PM ficou "amplamente comprovada". O ministro menciona a falta de segurança que possibilitou os ataques de bolsonaristas e a "aparente conivência" de parcela da Polícia Militar em não impedir os atos de vandalismo.
"No caso de Anderson Gustavo Torres e Fábio Augusto Vieira, o dever legal decorre do exercício do cargo de Secretário de Segurança Pública do Distrito Federal e de Comandante-Geral da Polícia Militar do Distrito Federal, e a sua omissão ficou amplamente comprovada pela previsibilidade da conduta dos grupos criminosos e pela falta de segurança que possibilitou a invasão dos prédios públicos", disse o ministro.
Os comportamentos de Anderson Gustavo Torres e Fábio Augusto Vieira são gravíssimos e podem colocar em risco, inclusive, a vida do Presidente da República, dos Deputados Federais e Senadores e dos Ministros do Supremo Tribunal Federal" Alexandre de Moraes, ministro do STF
Moraes diz que as omissões ficaram demonstradas nos seguintes momentos:
Ausência de policiamento, em especial do Comando de Choque da PM;
Autorização para mais de 100 ônibus ingressarem livremente em Brasília sem acompanhamento policial;
Total inércia no encerramento do acampamento bolsonarista em frente ao QG do Exército, mesmo quando "patente que o local estava infestado de terroristas".
Absolutamente NADA justifica a omissão e conivência do Secretário de Segurança Pública e do Comandante Geral da Polícia Militar" Alexandre de Moraes, ministro do STF
De acordo com Moraes, os fatos levados pela PF demonstram a atuação de possível organização criminosa que busca desestabilizar as instituições da República, principalmente o Congresso e o Supremo, e derrubar as estruturas democráticas e o Estado de Direito no Brasil.
"Há fortes indícios de que as condutas dos terroristas criminosos só puderam ocorrer mediante participação ou omissão dolosa - o que será apurado nestes autos - das autoridades públicas mencionadas", disse Moraes.
Em momento tão sensível da Democracia brasileira, em que atos antidemocráticos estão ocorrendo diuturnamente, com ocupação das imediações de prédios militares em todo o país, e em Brasília, não se pode alegar ignorância ou incompetência pela OMISSÃO DOLOSA e CRIMINOSA" Alexandre de Moraes, ministro do STF
O ministro diz ainda que além de "potencialmente criminosa", a omissão de Torres e de Vieira é "estarrecedora". Como mostrou o UOL, bolsonaristas radicais planejaram o atentado na Praça dos Três Poderes ao longo do dia em grupos na internet.
"Neste caso, os atos de terrorismo se revelam como verdadeira "tragédia anunciada', pela absoluta publicidade da convocação das manifestações ilegais pelas redes sociais e aplicativos de troca de mensagens, tais como o WhatsApp e Telegram", disse.
O nome do ex-secretário foi alvo de críticas de autoridades dos três Poderes - no cargo, era responsável pela Polícia Militar, que não conteve as invasões.
Mais cedo, o interventor federal Ricardo Cappelli afirmou que teria havido uma "sabotagem" no esquema de segurança do Distrito Federal, acusando Torres de ser o responsável.
Cappelli comparou, por exemplo, o esquema de segurança da posse do presidente Lula (PT) na semana anterior e como os atos golpistas foram recebidos pelas forças policiais, no domingo.
"O que mudou em 7 dias? É simples, no dia 2, Anderson Torres assumiu a Secretaria de Segurança Pública do Distrito Federal, exonerou todo o comando da secretaria e viajou. Se isso não é sabotagem, não sei o que é", disse.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.