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

MC Carol fala sobre racismo: 'Faz você achar que é feia, suja e inferior'

MC Carol - Fernando Schlaepfer/Divulgação
MC Carol Imagem: Fernando Schlaepfer/Divulgação

De Universa

20/06/2020 09h57

MC Carol usou o Facebook para fazer um desabafo sobre racismo. Ela iniciou o texto relembrando a época em que sofreu preconceito no colégio. "Nem a professora falava comigo. Foram meses assim. Acordava às 4h30 para chegar às 6h30. Não tinha ônibus, quando chovia tinha que colocar sacola no pé."

Mas a pior parte era convivência com os colegas, relata ela: "Era desprezada, as pessoas faziam piada com a minha roupa, riam do meu cabelo, do meu corpo. Falavam coisas baixinho e com olhar de nojo. Eu tinha vergonha até de comer na escola ou ficar no pátio. Me escondia todos os dias na biblioteca", contou.

Apesar da luta diária, ela diz que continuava se submetendo à situação porque gostaria de melhorar a condição financeira dos bisavós. Por isso, se esforçava muito nas aulas. Um dia, disse que tentou se aproximar de outra menina, também negra, que reagiu dizendo que "odiava negros". Em outra ocasião, a menina "mais popular" da turma viu no seu caderno uma foto colada e chamou os amigos de MC Carol, presentes na imagem, de "bando de macacos". Ela disse ter buscado ajuda de uma professora, em vão.

"Isso acabou comigo, eu só queria sumir daquele lugar. Pedi diversas vezes para o meu avô me tirar dali e tentar outro colégio, mas ele sabia que não tinha como fugir, que eu ia ar por isso a vida inteira".

A situação só melhorou quando, após ter brigado com uma das colegas, ela foi transferida para uma escola dentro de uma comunidade. "Ali eu pude ser eu, engraçada. Falar, me expressar. Eu amava apresentar os trabalhos da escola e fui muito feliz", conta. No entanto, o racismo voltou a fazer parte da sua realidade quando começou a cantar funk.

Uma dia, ela relembra, foi expulsa aos gritos por um taxista por causa da cor da pele. "Estava acompanhada de uma gringa, que tentava entender o que estava acontecendo e só consegui responder: "Deixa, está tudo bem. Não foi nada. Tentando disfarçar minha vergonha e minha vontade de chorar".

Por fim, MC Carol fez uma reflexão sobre o racismo. "Ele é assim, te envergonha, te coloca para baixo. Faz você acreditar que é muito menos do que uma pessoa branca. Que é feia, suja, inferior. Você você entender que precisa dos brancos para se enturmar. Faz você ficar contra os seus e não se relacionar amorosamente com eles. Te coloca medo, pavor de andar à noite, de roupas escuras e em um grupo de pessoas pretas. Deixa você apreensivo perto da bolsa de alguém ou na casa de algum branco".

"O racismo te causa traumas incuráveis. Até hoje fico constrangida para entrar em lojas e restaurantes de luxo, mesmo tendo dinheiro para entrar. Ele te pega nas ocasiões que você menos espera e, na maioria das vezes, você trava. Fica tão chocado que paralisa. A lágrima vem e você não consegue falar nada. Mas a gente tem que falar, precisa falar, expor e denunciar os racistas. Temos que nos fortalecer e preparar nossas crianças pretas. A gente não pode baixar a guarda para esses animais, porque o racismo nunca descansa", afirmou.