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

Invasão ao Congresso dos EUA deixa quatro mortos, diz polícia

Do UOL, em São Paulo

07/01/2021 01h58Atualizada em 07/01/2021 11h02

A polícia da capital americana Washington confirmou que quatro pessoas morreram durante a invasão de apoiadores de Donald Trump ao Capitólio dos Estados Unidos, nesta quarta-feira, 6.

A informação dada pelo chefe de polícia Robert Contee confirma que entre os mortos estão uma mulher que foi baleada pela Polícia do Capitólio, nome dado ao Congresso dos EUA, e três outras pessoas que morreram em "emergências médicas".

Segundo informações divulgadas pela imprensa americana, a mulher não resistiu aos ferimentos após ser atingida por um projétil. Ela havia sido resgatada em estado crítico. A polícia não soube detalhar as circunstâncias do tiroteio, quem disparou o tiro ou a natureza dos ferimentos da pessoa.

O chefe do departamento de polícia afirmou também que outras três mortes, sendo dois homens e uma mulher, foram registradas nos arredores do Capitólio. Até o momento, não há identificação das vítimas.

Ainda segundo Contee, ao menos 14 policiais ficaram feridos, um deles em situação grave, durante os confrontos no Congresso.

Ele também confirmou que 52 pessoas foram presas, 47 delas por desrespeitar o toque de recolher em vigor desde as 18h locais (20h em Brasília).

A invasão ao Congresso

Manifestantes que apoiam Trump invadiram o Congresso americano, que realizava uma sessão para certificar a vitória do presidente eleito Joe Biden. As portas do Congresso foram trancadas, um alerta de emergência acionado e os trabalhos foram interrompidos.

Mike Pence presidia a sessão e deixou o local escoltado. Vários congressistas precisaram deixar o local às pressas.

A polícia jogou spray de pimenta e bombas de gás em alguns manifestantes no objetivo de impedir a tentativa de invasão ao Congresso. Houve confronto também fora do prédio.

Segundo informações da rede de TV americana FOX News, a polícia também encontrou vários pacotes suspeitos em volta do Cannon House Office e da Madison Library of Congress Building, e agiu para esvaziar os prédios e escritórios vizinhos.