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

Escalação ofensiva do Brasil na estreia na Copa do Mundo nunca jogou junta

Gabriel Carneiro, Igor Siqueira e Danilo Lavieri

Do UOL, em Doha (Qatar)

23/11/2022 04h00

Classificação e Jogos

Desenhada ao longo de todo o período de preparação para a Copa do Mundo, a escalação da seleção brasileira para a estreia contra a Sérvia, amanhã (24), às 16h (de Brasília), foi definida nos dois últimos treinamentos, que aconteceram com portões fechados. Tite decidiu apostar na formação mais ofensiva entre as duas opções mais consolidadas dos últimos meses, com Vini Jr. de titular.

Alisson; Danilo, Marquinhos, Thiago Silva e Alex Sandro; Casemiro e Lucas Paquetá; Raphinha, Neymar e Vini Jr.; Richarlison é o time titular, a menos que uma surpresa de última hora mude os planos. O curioso é que esse time nunca jogou junto.

Titulares do ataque, Raphinha e Vini Jr. têm apenas 11 e 16 jogos com a Amarelinha, respectivamente. São os novatos do time. Só esses números já diminuem consideravelmente a possibilidade de a escalação já ter sido usada anteriormente. Eles começaram juntos apenas cinco partidas (Argentina, Equador e Paraguai, pelas Eliminatórias, e Japão e Gana, em amistosos) —todas entre novembro do ano ado e setembro deste ano.

Contra Paraguai e Gana, Tite trabalhou formações muito parecidas com a que inicia a Copa do Mundo, com Paquetá mais recuado como um segundo volante e sem Fred, que na outra formação mais consolidada é o parceiro de Casemiro no meio-campo.

Só que contra o Paraguai não tinha Neymar, que estava em tratamento de uma lesão no tornozelo esquerdo. Foi Philippe Coutinho quem fez a função de meia central. Além disso, o time teve Ederson, Daniel Alves, Alex Telles e Fabinho como titulares.

Já diante de Gana as ausências foram os laterais Danilo e Alex Sandro, lesionados. Foram escalados Éder Militão e Alex Telles.

O outro jogo em que Lucas Paquetá fez as vezes de volante foi quando entrou no intervalo de uma partida contra a Venezuela, pelas Eliminatórias. Ele substituiu Douglas Luiz e ajudou a seleção a furar a retranca adversária. Paquetá na seleção já atuou de meia central, ponta esquerda e até falso 9, além de segundo volante.

Tite - Nelson Almeida/AFP - Nelson Almeida/AFP
Tite durante visita da seleção brasileira ao estádio de Lusail, palco da estreia na Copa
Imagem: Nelson Almeida/AFP

Tite já vinha desenhando esta escalação ofensiva durante a preparação para a Copa, em Turim e em Doha. A primeira pista foi quando usou Neymar só de meia central nos treinamentos, a outra quando testou Paquetá só como segundo volante, numa disputa por posição com Fred, Bruno Guimarães e Everton Ribeiro, e a terceira no momento em que fixou brigas nas pontas: Vini Jr. x Gabriel Martinelli e Raphinha x Antony.

O time foi escalado como vai entrar em campo na quinta-feira nos dois treinos fechados desta semana. A partida contra a Sérvia é às 16h (de Brasília), no estádio de Lusail. Hoje (23) haverá o último trabalho antes da estreia no centro de treinamento do Brasil em Doha, o estádio Grand Hamad, além de coletivas de imprensa do capitão Thiago Silva e do técnico Tite.

O UOL News Copa desta quarta-feira (23) analisa a escalação ofensiva de Tite, Marrocos x Croácia, a ressaca argentina, a estreia de favoritas no Mundial, como Alemanha, Bélgica e Espanha, e mais notícias. Confira: