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

Vasco

Vasco revê torcida 556 dias após jogo com aglomeração em início da pandemia

Bruno Braz

Do UOL, no Rio de Janeiro

19/09/2021 04h00

Enfim o Vasco reencontrará seu público em São Januário, embora de maneira reduzida. Na decisiva partida de hoje (19), contra o Cruzeiro, às 16h, pela Série B, um máximo de mil torcedores voltarão a fazer barulho no estádio 556 dias após os portões terem sido abertos pela última vez, num jogo onde ocorreu aglomeração e em que a pandemia do coronavírus já se alastrava, enquanto autoridades e a população ainda não tinham o devido conhecimento técnico e científico da doença que tomaria conta de maneira avassaladora e deixaria milhares de mortos por todo o planeta.

A partida foi entre o Cruzmaltino e o Goiás, no dia 12 de março de 2020, pela Copa do Brasil. Na ocasião, a possibilidade do futebol ser paralisada já estava bastante discutida, mas mesmo assim a CBF manteve o duelo com toda a operação sem sofrer alterações. Estiveram presentes naquele dia 17.970 torcedores, número que - para os padrões de São Januário - colocam o status de "quase lotado" ao estádio.

O UOL Esporte esteve in loco na cobertura do jogo e o que se viu foi algo que, principalmente hoje em dia, traz perplexidade: ausência quase que total de máscaras, aglomeração e até mesmo uma grande pancadaria na arquibancada logo após o gol do Goiás, que decretaria a vitória aos goianos por 1 a 0 no jogo de ida. Para dispersar a confusão, a Polícia Militar utilizou sprays de pimenta e o corre-corre deu um tom de desastre ainda maior naquela fatídica noite.

O saldo de todo o tumulto teve um total de zero prisões e muitos pertences pessoais perdidos sendo relatados nas redes sociais, como mochila infantil, cordões, carteiras e celulares.

Incerteza pairava; não houve protocolos

Pancadaria generalizada toma conta da arquibancada de São Januário na partida entre Vasco e Goiás - Bruno Braz / UOL Esporte - Bruno Braz / UOL Esporte
Pancadaria generalizada toma conta da arquibancada de São Januário na partida entre Vasco e Goiás
Imagem: Bruno Braz / UOL Esporte

Já antes da partida a incerteza pairava por conta da proliferação rápida do coronavírus. No entanto, nenhum tipo de protocolo de segurança foi adotado entre as equipes, os jornalistas, os funcionários que trabalhavam no jogo ou os torcedores.

Após o duelo, o que estava cogitado era que o jogo da volta, que aconteceria na semana seguinte, fosse realizado com portões fechados, uma vez que o Governo de Goiás já havia decretado esta ação para os jogos do Estadual.

Técnico da equipe goiana na ocasião, Ney Franco demonstrava aceitar a situação por um bem maior de saúde:

"A sociedade toda vai sofrer. Qualquer ação para diminuir essa multiplicação do vírus, o contágio, ela tem que ser considerada e respeitada. A decisão é do Estado de Goiás e, se chegaram a uma definição disso, corre-se um risco e tem que se respeitar. A tendência era o estádio estar lotado, mas a decisão foi acertada", disse na ocasião

Três dias após o duelo em São Januário, o Vasco enfrentou o Fluminense pelo Carioca, e o Goiás encarou a Aparecidense pelo Goiano, ambos os jogos com portões fechados. Foram os últimos dos clubes antes da paralisação do futebol brasileiro por conta da pandemia do coronavírus.

Jovem que morreu com suspeita de covid esteve no jogo

Um jovem de 26 anos, morador do Cachambi (zona norte do Rio), esteve no Vasco x Goiás, em São Januário, e morreu dez dias após a partida. Jornais da época, como "O Globo", publicaram que a suspeita da causa da morte foi a covid-19.

Abel caiu logo depois

Muito pressionado, o técnico Abel Braga durou apenas mais um jogo após o Vasco x Goiás da Copa do Brasil. Foi no clássico com o Fluminense, três dias depois, pelo Campeonato Carioca, já com os portões fechados no Maracanã.

Em seguida, houve a paralisação do futebol brasileiro por conta da pandemia e o treinador deixou o cargo durante este período, sendo substituído pelo então auxiliar Ramon Menezes.

Duelo decisivo contra o Cruzeiro

A partida de hoje é encarada como uma verdadeira decisão pelos dois clubes, que se encontram distantes do grupo de o à Série A do Campeonato Brasileiro. Uma derrota será considerada uma catástrofe para ambas as equipes.

No momento, o Vasco se encontra com 33 pontos, três a mais que o Cruzeiro, que já estava na Série B desde o ano ado. O duelo marcará também o reencontro do técnico Vanderlei Luxemburgo com o Cruzmaltino.

FICHA TÉCNICA:

VASCO X CRUZEIRO
Local: São Januário, no Rio de Janeiro (RJ)
Hora: 16h (Horário de Brasília)
Árbitro: André Luiz de Freitas Castro (GO)
Auxiliares: Hugo Savio Xavier Corrêa (GO) e Paulo César Ferreira de Almeida (GO)
VAR: Rodolpho Toski Marques (Fifa/PR)

Vasco: Vanderlei, Léo Matos, Ricardo Graça, Leandro Castan e Zeca; Andrey, Marquinhos Gabriel e Morato; Léo Jabá, Nenê e Germán Cano. Técnico: Fernando Diniz.

Cruzeiro: Fábio; Cáceres, Eduardo Brock, Ramon e Matheus Pereira; Adriano, Rômulo e Claudinho; Wellington Nem, Dudu e Marcelo Moreno. Técnico: Vanderlei Luxemburgo.

Vasco