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

Guerra da Rússia-Ucrânia

Notícias do conflito entre Rússia e Ucrânia


Esse conteúdo é antigo

Pentágono diz que Rússia tenta exaurir defesas aéreas da Ucrânia

O secretário de Defesa dos EUA, Lloyd Austin - REUTERS/Leah Millis
O secretário de Defesa dos EUA, Lloyd Austin Imagem: REUTERS/Leah Millis

Phil Stewart e Idrees Ali

Reuters, Washington

19/11/2022 14h43

A onda de ataques de mísseis da Rússia na Ucrânia tem como um dos objetivos esgotar os suprimentos de defesa aérea de Kiev e, finalmente, alcançar o domínio dos céus do país, disse um funcionário de alto escalão do Pentágono neste sábado.

A Rússia bombardeou cidades em toda a Ucrânia com ataques de mísseis na semana ada, em uma das ondas mais pesadas de ataques aéreos desde que Moscou começou a guerra contra o país há quase nove meses.

A Ucrânia diz que os ataques paralisaram quase metade do sistema de energia do país, criando um potencial desastre humanitário com a chegada do inverno.

Colin Kahl, o principal conselheiro político do Pentágono, alertou que Moscou também espera esgotar as defesas aéreas ucranianas que até agora impediram os militares russos de estabelecer o domínio dos céus da Ucrânia.

"Eles estão realmente tentando sobrecarregar e esgotar os sistemas de defesa aérea ucranianos", disse Kahl a jornalistas durante uma viagem ao Oriente Médio.

"Sabemos qual é a teoria russa da vitória e estamos comprometidos em garantir que isso não funcione, garantindo que os ucranianos obtenham o que precisam para manter suas defesas aéreas viáveis."

Após a invasão da Ucrânia pela Rússia em 24 de fevereiro, especialistas militares ocidentais esperavam amplamente que os militares russos tentassem destruir imediatamente a força aérea e as defesas aéreas da Ucrânia. Esse é um elemento central da estratégia militar moderna, permitindo um melhor e para o avanço das forças terrestres.

Em vez disso, as tropas ucranianas com foguetes terra-ar e outras defesas aéreas foram capazes de combater as aeronaves russas e os céus da Ucrânia permanecem disputados até hoje.

Esse fracasso inicial russo crítico tem sido um elemento central dos problemas de Moscou na Ucrânia.

"Acho que uma das coisas que provavelmente mais surpreendeu os russos é a resiliência das defesas aéreas da Ucrânia desde o início deste conflito", disse Kahl.

"Em grande parte, isso se deve à engenhosidade e inteligência dos próprios ucranianos em manter viáveis —seus sistemas de defesa aérea. Mas também porque os Estados Unidos e outros aliados e parceiros forneceram um tremendo apoio", disse ele.

Na semana ada, o secretário de Defesa dos EUA, Lloyd Austin, concentrou-se nos suprimentos de defesa aérea para a Ucrânia em uma reunião online que ele organizou no Pentágono. Os aliados da Ucrânia têm fornecido de tudo, desde sistemas herdados da era soviética até sistemas ocidentais mais modernos.

Para os EUA, isso inclui sistemas de defesa aérea NASAMS norte-americanos recém-fornecidos que, segundo o Pentágono, até agora tiveram uma taxa de sucesso de 100% na interceptação de mísseis russos na Ucrânia.

"Temos feito a transição dos ucranianos para o equipamento padrão da Otan em todos os setores", disse Kahl.

Os EUA forneceram mais de 1.400 sistemas antiaéreos Stinger junto com contra-artilharia e radares de vigilância aérea para a Ucrânia.