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

Fluminense

Odair vê 'grande atuação' do Flu em empate: "Vitória era para ser nossa"

Caio Blois

Do UOL, no Rio de Janeiro

15/10/2020 00h27

O ponto conquistado pelo Fluminense contra o líder Atlético-MG no Mineirão foi exaltado por Odair Hellmann. Em sua análise, entretanto, o técnico viu uma grande atuação do Tricolor, com o sentimento de que a vitória era o resultado mais justo para a sua equipe no Brasileirão.

"Foi um grande jogo, saímos com o sentimento de que a vitória era para ser nossa. Quero parabenizar o grupo pela entrega, qualidade e intensidade. Todos perderam aqui, hoje foi um grande jogo do Fluminense e poderíamos ter saído com a vitória porque produzimos para isso", opinou.

O "grande jogo" do Flu, para Odair, foi fruto de uma estratégia muito bem executada pelos jogadores. Questionado se poderia ter feito mais substituições para manter o nível de intensidade da equipe, que caiu um pouco na segunda etapa, o treinador lembrou que o Tricolor teve chances de aumentar o placar.

"Estávamos muito bem. Substitui porque perdemos um pouco essa pressão para manter a agressividade por dentro e para a frente, o que conseguimos fazer na maior parte do jogo, mas também porque os jogadores sentiram fisicamente. Fiz as mexidas na hora que acreditei que precisavam. Os jogadores estavam muito bem, no limite. O Luiz Henrique pediu para sair. Eu nem tiraria ele. Perdemos uma substituição com o Pacheco logo no começo do jogo, esperei até para o final, porque alguém poderia sentir No segundo tempo, manter o ritmo de intensidade é difícil, acaba baixando um pouco. A segunda chance de gol foi com o Luiz Henrique, para matar a partida, perdemos, eles cresceram, criaram situações perigosas, mas sempre estivemos inteiros no jogo", disse.

A grande partida entre o líder e o quinto colocado do Campeonato Brasileiro poderia ter gerado três pontos ao Fluminense. Odair acredita que faltaram alguns detalhes na definição das jogadas para conquistar o resultado positivo.

"O Fluminense fez dois grandes tempos, fez um grande jogo. No primeiro tempo, com total saúde, conseguimos imprimir total intensidade de defesa e fazer a transição. Chegamos muitas vezes para fazer o segundo gol depois de abrir o placar. Precisávamos definir melhor as jogadas, porque estávamos chegando. O Atlético não conseguiu quase nada de criação entre as linhas, teve menos chance", declarou.

Confira outras respostas de Odair Hellmann na coletiva:

Tinha a situação do Marcos Paulo e do Lucca, mas já visualizava que o Felippe Cardoso poderia ser substituído. Eu não queria tirar o Luiz Henrique, mas precisei. Poderia colocar um deles por dentro. O Lucca está chegando agora, se adaptando, se readaptando ao futebol brasileiro, aos treinamentos, e na hora que coloquei o Ganso, o jogo estava para a gente matar no contra-ataque. Uma tivemos muita superioridade numérica, mas não conseguimos marcar mais um. Deu certo, para ter o jogador do e para o escape, mas o gol não saiu. Organização, comportamento defensivo e ofensivo deu certo, porque fiezmos o gol. Saímos com o gostinho que poderíamos ter vencido mas infelizmente sofremos o empate. Saio feliz com a atitude e comprometimento do grupo de jogadores.

Substituições

É importante a discussão das substituições. Alguns pensam que mudar cinco descaracteriza demais a equipe. É jogo a jogo. Tem jogo que a gente faz cinco, tem jogo que são três. Acho que tinha que liberar os movimentos. Tenho a ideia de que o jogo para muito mais para bater as faltas do que nessas cinco substituições. Por que não libera? É difícil para ter três movimentos. Eu tinha um movimento para fazer uma, duas ou três substituições. Com um jogo dessa intensidade, corre o risco de perder uma delas. Conversando e visualizando, todos estavam bem. O Luiz que chegou no limite. Levei um pouquinho mais a do Felippe, porque estava bem nos duelos. A equipe estava encaixada. Eles estavam dando boa resposta. Fazer duas substituições em momento crucial do jogo as vezes não é bom, pode ser prejudicial. É leitura do momento.

Trinca no meio-campo

Queria falar do trio de meio-campistas. Querem colocar o rótulo de três volantes, de retranqueiro. Pergunta para eles se peço para baixar linha de marcação. Nunca. Esses rótulos são difíceis. Eu gosto da discussão porque gera o debate, e gosto dele. No Internacional demorou dois anos para falar de função e posição. E só mudaram porque o [Eduardo] Coudet pediu. Nem no site tem mais, agora são todos meio-campistas.

O Yago foi meia-atacante a vida toda. Nem na nomenclatura é volante. Ele tem essa característica de posse. Com esses três fortaleço as características de um jogo mais agressivo. Os outros jogadores tinham característica diferente de Nenê e Fred. São jogadores de proteção organizacional coletiva para outros jogadores. Esse movimento é para agredir mais para a frente. É para ter uma marcação mais alta, eles conseguem fazer isso. Em alguns momentos não conseguíamos manter essa agressividade. Desse jeito, estamos conseguindo, para ter esse movimento para proteger outras características nossas. Em algum momento vamos abrir mão disso, vamos colocar jogadores mais de posse, e, dentro do pensamento de cada jogo.

Fluminense