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

Copa do Brasil - 2021

Flamengo bate ABC, engata oitava vitória e avança na Copa do Brasil

Leo Burlá

Do UOL, no Rio de Janeiro

05/08/2021 23h21

Após goleada por 6 a 0 no jogo de ida, o time reserva do Flamengo carimbou a classificação às quartas de final da Copa do Brasil ao bater o ABC por 1 a 0. Com gol de João Gomes, o Rubro-Negro foi melhor na Arena das Dunas e não teve maiores dificuldades para avançar. Essa foi a oitava vitória seguido da equipe carioca.

Apesar de ter sido bem superior em Natal, o Fla foi um tanto quanto apagado e teve pouca precisão na hora de concluir. Os donos da casa, por sua vez, se fecharam e tentaram evitar novo revés.

No próximo domingo, o Rubro-Negro encara o Internacional, às 18h15, no Maracanã, pelo Brasileiro. O time terá de volta sua força máxima e Renato Gaúcho estará no comando.

Flamengo faz o feijão com arroz

Em situação confortável para ar de fase, o Flamengo começou o jogo de forma lenta e "protocolar", mas foi crescendo aos poucos e não demorou para tomar conta do jogo. Diante de um rival que pouco ameaçou, o Fla construiu suas chances e fez o suficiente para avançar.

ABC se encolhe após bom início

Após ser goleado no Maracanã, os donos da casa tentaram sair um pouquinho mais para o jogo e dar algum trabalho ao Fla. O início até que foi mais animado, mas o Alvinegro foi sendo empurrado pelos visitantes e tiveram dificuldades para igualar o duelo.

Vitinho procura o jogo

Em uma partida com pouco brilho técnico, o meia Vitinho tentou buscar o jogo e foi responsável por alguns dos lampejos rubro-negros em Natal. Atuando mais por dentro, o jogador distribuiu bons es e deu trabalho para o goleiro Wellington.

Rodinei tem atuação tímida em outra posição

Escalado aberto pela ponta, o lateral-direito Rodinei teve alguma dificuldade para se adaptar ao setor. O camisa 20 apareceu melhor quando conseguiu ver o jogo de frente e não foi tão bem quando recebeu a bola de costas e se viu pressionado pela marcação. Com a saída de Matheuzinho, ele voltou para a posição de origem.

Que mole, goleirão

Aos 9 minutos de jogo, o goleiro Wellington saiu jogando com a mão, Ramon interceptou de cabeça e encontrou Pedro livre para marcar. O camisa 21 contou com o cochilo da zaga, mas não foi preciso no arremate.

VAR não interfere

Aos 43 do primeiro tempo, Vitinho bateu falta da esquerda, mandou na segunda trave para Léo Pereira, que tem a camisa puxada de forma acintosa. O juiz Ramon Abatti Abel não marcou a infração e o árbitro de vídeo não chamou para revisão.

VAR não funciona

O VAR de ABC x Flamengo teve problema operacional e linhas não foram traçadas em lance que resultou em anulação de gol de Michael. Ficou mantida a decisão de campo.

Cronologia

Aos 39 do segundo tempo, João Gomes recebeu de Vitinho e marcou.

FICHA TÉCNICA

ABC X FLAMENGO

Motivo: Oitavas de final da Copa do Brasil
Data e hora: 5 de agosto de 2021, às 21h30 (de Brasília)
Local: Arena das Dunas, em Natal (RN)
Árbitro: Ramon Abatti Abel (SC)
Assistentes: Helton Nunes (SC) e Éder Alexandre (SC)
VAR: Rodrigo D'Alonso Ferreira (SC)
Gols: João Gomes, aos 39 minutos do segundo tempo
Cartões amarelos: Pimbinha, Claudinho, Wallyson (ABC); João Gomes (FLA)
Cartões vermelhos: -

ABC: Wellington; Netinho, Vinícius Leandro, Alisson Cassiano e Vinicius Silva; Vinicius Paulista (Allef), Valderrama (Marcos Antônio), Felipe Manoel e Wesley Pimbinha (Alan Pedro); Claudinho (João Marcos) e Wallyson (Gustavo Henrique). Técnico: Moacir Júnior

Flamengo: Gabriel Batista, Matheuzinho (Lázaro), Bruno Viana, Léo Pereira (Noga) e Ramon; João Gomes, Thiago Maia (Max), Rodinei, Vitinho (Daniel Cabral) e Michael (Vitor Gabriel); Pedro. Técnico: Maurício Souza