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

Delegada em defesa da mulher em SP: "Tinham vergonha de relatar agressão"

Getty Images
Imagem: Getty Images

De Universa

08/03/2020 11h14

Ser mulher no Brasil machuca. Por isso, o Dia Internacional da Mulher não é só uma data de celebrar conquistas: é também um chamado à luta pelos direitos — especialmente ligados ao combate à violência de gênero.

Para a delegada Jamila Jorge Ferrari, coordenadora das Delegacias de Defesa da Mulher (DDMs) no Estado de São Paulo, também é uma oportunidade de afirmação das prioridades sociais.

"É preciso lembrar e relembrar do que realmente importa. Devemos todos estar atentos para melhorar. Discutir as questões da mulher não pode continuar sendo simplesmente rotulado de feminismo. É uma questão de proteção", reforça.

Denunciar agressores

Um dos pontos lembrados por Jamila é o contínuo trabalho feito nos órgãos públicos para incentivar as mulheres vítimas de qualquer tipo de violência a denunciar os agressores e buscar ajuda. O combate à violência contra a mulher a necessariamente pela redução da subnotificação desses crimes.

Em janeiro deste ano, por exemplo, 63% dos casos de estupro de vulnerável registrados ocorreram em meses ou anos anteriores. "A violência sempre existiu, mas agora ela está mais visível, mais palpável. Até pouco tempo atrás, as vítimas tinham vergonha de relatar as agressões. Isso está mudando ", ressalta a delegada.

Políticas de segurança

A delegada ainda destaca avanços na questão de gênero dentro do Governo estadual. E segundo a Secretaria da Segurança Pública, o Estado de São Paulo é pioneiro no aprimoramento de políticas de segurança e combate à violência de gênero.

Delegacias de Defesa da Mulher em São Paulo

Serão inauguradas duas DDMs, em Jacupiranga e Itanhaém - agora são 135. No Estado, 10 unidades atendem 24 horas e, segundo a Secretaria, até o final de 2022 outras 30 unidades terão esse esquema de operação. Além das especializadas, todas as delegacias de São Paulo, diz o órgão, seguem o Protocolo Único de Atendimento para acolher casos de violência contra a mulher.

SOS Mulher

Pelo aplicativo SOS Mulher, as mulheres com medidas protetivas concedidas pela Justiça têm atendimento policial prioritário. Para utilizá-lo, é necessário realizar cadastro inserindo as informações da forma idêntica àquelas que estiverem transcritas na medida protetiva.