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

Foco em prender mais é "demagogia populista", diz ex-juiz e governador Dino

Flavio Dino (PCdoB-MA), governador do Maranhão - Ernesto Rodrigues/Folhapress/11.ago.2015
Flavio Dino (PCdoB-MA), governador do Maranhão Imagem: Ernesto Rodrigues/Folhapress/11.ago.2015

Beatriz Montesanti

Do UOL, em São Paulo

19/02/2019 04h00

Resumo da notícia

  • Governador do Maranhão, que é ex-juiz, comenta pacote de medidas de Moro
  • Para Dino, apenas se concentrar em penas não muda quadro de violência
  • Segundo governador, integração com quadro social melhorou prisões do MA

O governador do Maranhão, Flavio Dino (PCdoB), diz esperar que o governo federal tape buracos. Literalmente. Em plena safra da soja no país, a única estrada que chega ao complexo portuário da ilha de São Luís está precisando de reparos. 

O primeiro comunista a liderar um estado brasileiro vê a gestão Bolsonaro "tapando buracos" também em uma de suas principais metas, a segurança pública. Deve chegar esta terça (19) ao Congresso Nacional o pacote anticrime do ministro da Justiça e Segurança Pública, Sergio Moro. Para ele, trata-se de uma solução falha. 

Em entrevista ao UOL, o governador, que é ex-juiz federal, criticou as medidas de Moro. Segundo ele, elas vão na contramão do que Dino vêm tentando implementar no Maranhão nos últimos anos.

Quando Dino foi eleito pela primeira vez, em 2014, o estado nordestino enfrentava uma das maiores crises da segurança pública no Brasil. No começo daquele ano, a imprensa divulgou vídeos de presos degolados em Pedrinhas, complexo penitenciário de São Luís. Quatro anos mais tarde, o governador comemora - com moderação - os mais de 400 presos aprovados no Enem (Exame Nacional do Ensino Médio) e aceitos em postos de trabalho.

"Em todos os casos do mundo que você analisa, a melhoria da segurança pública não a apenas por uma mudança de lei. Você tem em primeiro lugar o enfrentamento de questões sociais, e em segundo lugar a boa gestão do sistema. Na hora que você prioriza um pacto legislativo, você está com a prioridade errada", defende Dino. 

Leia a entrevista completa: 

UOL - O senhor deu declarações dizendo que é necessário "analisar as consequências" do pacote anticrime do ministro Sergio Moro. Qual é a sua avaliação geral sobre o texto e que consequências são essas">var Collection = { "path" : "commons.uol.com.br/monaco/export/api.uol.com.br/collection/noticias/politica/data.json", "channel" : "politica", "central" : "noticias", "titulo" : "Política", "search" : {"tags":"28132"} };