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

Modelo trans denuncia agressão e abuso sexual de motorista de aplicativo

Ed Rodrigues

Colaboração para Universa, de Recife

17/08/2022 12h32

A artista visual Sumé Yina denunciou ter sido abusada sexualmente e espancada por um motorista de aplicativo. "Me dói a carne dizer que fui mais uma vítima de transfobia, fui espancada, tive meus ossos quebrados e fui colocada no maior lugar de vulnerabilidade em que já vivi", disse a vítima em suas redes sociais.

A violência teria acontecido em São Paulo quando Sumé embarcou em um carro no bairro Santa Cecília com destino à avenida Sumaré, zona oeste da cidade, na madrugada de 5 de agosto.

A Universa, Sumé contou que a agressão aconteceu dentro e fora do veículo da 99. Ainda abalada, não conseguiu dar detalhes, mas lembrou que tentou fugir do agressor correndo em direção à portaria de um prédio que possuía iluminação e câmeras de segurança. A tentativa, no entanto, não cessou o ataque.

"Ele continuou até eu conseguir gritar por ajuda. Eu sofri fraturas no corpo, feridas no rosto e diversos machucados pelo corpo. Fui atendida na unidade de saúde PSM Doutor Álvaro Dino de Almeida, na Barra Funda", disse.

"Trauma e medo ininterrupto de ser violentada"

Ela conta que nos primeiros dias foi muito difícil lidar com todas as feridas e dores pelo corpo. As lembranças dos momentos de terror causaram mais do que dor física.

Modelo relata ter sido abusada sexualmente e espancada por um motorista de aplicativo - JOY Management - JOY Management
Modelo relata ter sido abusada sexualmente e espancada por um motorista de aplicativo
Imagem: JOY Management

"Tenho tido uma grande dificuldade social e de comunicação, além de um medo ininterrupto de ser violentada de outras maneiras, já que mesmo nesse estado continuo sofrendo transfobia nos estabelecimentos. Existe uma parte confortante de saber que estou sendo cuidada por amigas que amo e que tornam as coisas um pouco menos traumáticas", disse a Universa.

Transfobia no atendimento médico

"Sofri transfobia no posto de saúde mesmo informando qual gênero eu me reconheço e quais pronomes gostaria de ser tratada. Senti uma falta de profissionalismo e humanidade com o meu corpo, desde não terem cuidado com as minhas lesões e fraturas, até a mal feitura do gesso, dos pontos no rosto, da limpeza dos ferimentos", diz.

Segundo Sumé, ela precisou procurar médicos particulares para conseguir ser tratada de forma digna.

A vítima denunciou as agressões no 64º Distrito Policial - Cidade A E Carvalho. A Polícia Civil de São Paulo vai investigar. Procurada, a 99 se pronunciou por meio de nota.

Vítima denunciou as agressões; Polícia Civil de São Paulo vai investigar as agressões - JOY Management - JOY Management
Vítima denunciou as agressões; Polícia Civil de São Paulo vai investigar as agressões
Imagem: JOY Management

O que diz a 99 Taxi

Procurada por Universa, a empresa garantiu que "repudia veementemente o ato de violência e discriminação contra a ageira Sumé". Segundo o comunicado, a 99 baniu o motorista imediatamente do app e mobilizou uma equipe para oferecer todo o acolhimento e e necessário à vítima.

A nota afirma também afirma que está "empenhada em combater esse tipo de situação na plataforma" e que os motoristas são orientados a terem " uma conduta que preze pelo respeito e destacamos que esse tipo de comportamento não é tolerado". O comunicado ainda diz que a empresa conta com uma central de atendimento exclusiva para segurança, que trabalha 24 horas por dia para colaborar com a proteção de todos os usuários.