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

Ceará derrota Sport nos pênaltis, vinga 2014 e conquista o Nordestão

Richard, do Ceará, após defender a cobrança de pênalti do Sport na final da Copa do Nordeste - MARLON COSTA/ESTADÃO CONTEÚDO
Richard, do Ceará, após defender a cobrança de pênalti do Sport na final da Copa do Nordeste Imagem: MARLON COSTA/ESTADÃO CONTEÚDO

Bruno Fernandes e Josué Seixas

Colaboração para o UOL, em Recife e Maceió

03/05/2023 23h21

O Ceará venceu o Sport nos pênaltis por 4 a 2 e conquistou a Copa do Nordeste 2023, na Ilha do Retiro. Esse é o terceiro título da história do clube. O troféu é uma vingança da edição de 2014, conquistada pelos donos da casa.

No tempo normal, o Sport venceu a partida por 1 a 0, com gol de Luciano Juba.

A primeira partida havia sido 2 a 1 no Castelão.

Os pênaltis

Sport: Vagner Love e Sabino converteram. Juba e Gabriel Santos pararam nas defesas de Richard, do Ceará.

Ceará: Danilo Barcelos, Jean Carlos, Luvannor e Erick converteram. Castilho desperdiçou.

Danilo Barcelos precisou cobrar duas vezes. Na primeira, o goleiro Renan defendeu, mas se adiantou. Na segunda chance, o lateral mudou o lado e converteu.

Como foi o jogo

O Sport se impôs desde o começo, especialmente embalado por sua torcida. O time controlou as ações e foi mais perigoso durante toda a primeira etapa. Ao abrir o placar, o Leão se manteve ofensivo.

Por outro lado, o Ceará tinha dificuldades para furar o bloqueio adversário, além de pouca intensidade na subida ao ataque. A primeira finalização do time só saiu no fim do primeiro tempo.

A segunda etapa do jogo teve os dois times buscando o ataque durante certo momento, mas também com cera no final. Parecia que os times queriam a disputa de pênaltis.

Muitos cartões amarelos foram aplicados durante a partida.

O herói do Ceará na partida foi Richard, que fez defesas importantes tanto no tempo normal quanto nas cobranças de pênalti.

Lances importantes

No travessão! Após saída errada da defesa do Ceará, Jorginho aproveitou e encheu o pé. A bola bateu no travessão.

1x0. O Sport pressionava pelo lado esquerdo quando Igor Cariús cruzou para o meio da área. A defesa do Ceará afastou parcialmente, mas a sobra ficou com Luciano Juba, que empurrou para a rede aos 26 do primeiro tempo.

Quase o segundo! Luciano Juba cruzou a bola para o meio da área e o zagueiro Luiz Otávio desviou para a própria meta. Danilo Barcelos estava atento para tirar a bola em cima da linha.

Defesaça! O Sport veio pelo lado direito do ataque e Edinho cruzou para o meio da área. Jorginho fez o corta-luz e Juba bateu de canhota, mas em cima de Richard, que desviou para escanteio.

Richard mais uma vez! Luciano Juba cobrou uma boa falta no começo do segundo tempo e a bola ou pela área sem desviar em ninguém, indo bem devagar no cantinho. O goleiro saltou para jogar para fora.

Travessão, trave, que loucura! Felipinho e Wanderson mal tinham entrado em campo quando tiveram oportunidades consecutivas. O primeiro recebeu no lado esquerdo do ataque e chutou de primeira, no travessão. Na sobra, o segundo acertou a trave.


FICHA TÉCNICA

Sport 1 (2) x (4) 0 Ceará
Data:
03/05/2023
Local: Ilha do Retiro
Hora: 21h (de Brasília)
Cartões amarelos: Janderson (CEA), Igor Cariús (SPT), Danilo Barcelos (CEA), Ronaldo Henrique (SPT), Vitor Gabriel (CEA), Enderson Moreira (SPT), Richard (CEA)
Cartões vermelhos:
Gols:
Luciano Juba (SPT), aos 26' do 1º tempo (1-0);

Sport: Renan; Ewerthon, Rafael Thyere (Chico), Sabino e Igor Cariús (Felipinho); Fabinho, Ronaldo Henrique (Pedri Martins) e Jorginho (Gabriel Santos); Edinho (Wanderson), Luciano Juba e Vágner Love. Técnico: Enderson Moreira.

Ceará: Richard; Warley (Michel), Tiago Pagnussat, Luiz Otávio e Willian Formiga (Danilo Barcelos); Arthur Rezende (Jean Carlos), Richardson e Guilherme Castilho; Erick, Janderson (Chay) e Vitor Gabriel (Luvannor). Técnico: Eduardo Barroca.