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

Matheus Pichonelli

OPINIÃO

Texto em que o autor apresenta e defende suas ideias e opiniões, a partir da interpretação de fatos e dados.

Violência do 'homem de bem' conecta tragédias de jovens em Valinhos e RN

Empresário foi morto a tiros por filho de 14 anos em condomínio de luxo em Valinhos - Reprodução/ EPTV
Empresário foi morto a tiros por filho de 14 anos em condomínio de luxo em Valinhos Imagem: Reprodução/ EPTV

Colunista do UOL

07/08/2021 04h00

Muros, grades e sistema de vigilância já não causam estranhamento. Pelo contrário, parecem adornar a paisagem composta por ipês, jacarandás e jequitibás dos trechos remanescentes da Mata Atlântica.

Valinhos, como a vizinha Vinhedo, é a cidade dos condomínios fechados, onde a natureza está ao alcance da janela e onde são aprisionados os medos do inimigo lá fora — os que não têm o àquele mundo a não ser como oferta de trabalho.

Os conflitos são evidentes, como fez questão de escancarar um morador da cidade que humilhou, com ofensas racistas, um entregador de app na porta de seu casarão.

Foi de um desses condomínios que saiu também o atirador da catedral em Campinas (SP).

E foi em um desses espaços cercados, perfeitos para a segurança da sua, da minha, da nossa família, que Julio (nome fictício), um rapaz de 15 anos, precisou recorrer ao arsenal de seu pai para interromper, segundo contou à polícia, as agressões contra ele e a mãe. Primeiro, com um tiro no abdômen, que levou o homem de 42 anos a correr para o carro, provavelmente em busca de outro revólver com o qual armaria o revide. Foi neutralizado pelo próprio filho com outros dois disparos.

A polícia foi chamada na sequência. Era o fim de uma série de ameaças cometidas pelo pai, que na véspera chegou a apontar uma arma para a cabeça da mulher e do filho e obrigou o jovem a dormir fora de casa.

O agressor precisou morrer para que os moradores do local descobrissem, por meio das páginas policiais, que o bom vizinho era um empresário com agem pela polícia por estelionato e uso de nomes falsos. Que tinha uma coleção de carros de luxo, armas e que espancava o filho e a mulher à vista dos empregados.

Até ser morto, provavelmente era visto e tratado como um dos muitos cidadãos de bem das áreas nobres, desses que caminham para a morte pensando em vencer na vida. Nem que seja à bala.

Não importa o que faça de seus 15 anos em diante: o autor dos disparos vai carregar até o fim da vida a marca de quem precisou matar o próprio pai para não morrer ou ver a mãe morrer — se não ali, mais dia, menos dia, em um ambiente familiar povoado por pistolas e cartuchos, como manda o figurino do Brasil de 2021.

Longe dali, em outro condomínio, na Grande Natal (RN), um jovem mais ou menos da mesma idade se suicidou, na mesma semana, após ler e ouvir todo tipo de agressão e manifestações de ódio em resposta a uma performance no TikTok.

O caso ganhou repercussão porque o adolescente era filho de Walkyria Santos, ex-vocalista da banda Magníficos, fenômeno do forró eletrônico no Rio Grande do Norte. Lucas Santos tinha 16 anos e, dias antes, havia gravado para a rede social um vídeo em que simulava a intenção de beijar um amigo. Preferiu morrer a conviver com quem usava os meios digitais para atacá-lo com as ofensas mais canalhas.

Em uma semana em que o espírito olímpico deveria ser aflorado, o país caiu em sua realidade mais brutal por meio de garotos que não protagonizavam as conquistas de medalhas, mas sim os desenlaces de tragédias conectadas. Um deles interrompeu a tiros a agressão do pai em sua derradeira expressão covarde de masculinidade —a que ostenta arma na cintura, ameaça e agride uma mulher na frente do filho.

Outro tirou a própria vida por falhar, aos olhos das coerções normativas, em sua performance de masculinidade. Antes, gravou um vídeo justificando, como se tivesse cometido um crime, a simulação de beijo no amigo. Precisou jurar que, apesar da brincadeira, era hétero e não merecia a avalanche de ataques (e quem merece?). Não adiantou.

Como escreveu, em sua página no Facebook, o amigo Renan Quinalha, advogado e ativista dos direitos humanos, a violência sofrida pelo adolescente tinha como objetivo resguardar as fronteiras que apartam o masculino do feminino, desumanizando tudo o que está desencaixado, fora de lugar.

"Esse é o mundo de injúrias e violência habitado por muitas pessoas LGBTQI+, nas suas casas, nas ruas, nas redes sociais. Imaginem o impacto na saúde mental de alguém que precisa justificar seu modo de ser e sentir a todo momento", escreveu Quinalha.

Lucas é uma multidão. Julio também.

Até poucos dias, quem os olhasse de longe poderia imaginar que os filhos daquelas famílias ricas estavam protegidos em suas respectivas casas em condomínio apartados de um mundo adoecido. Esse mundo se insinua e se embrenha nas rachaduras das bolhas de proteção que imaginamos invioláveis.

As tragédias tiveram destinos diferentes, mas possuem ao menos um ponto em comum: o caldo de ódio fervilhado pela performance de uma masculinidade violenta que precisa agredir, de preferência com armas, para se justificar. Só um deles está vivo para contar história daqui em diante.

Quantos outros precisarão morrer?