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

Bolsonaro diz que haverá "quase 20 vetos" à lei de abuso de autoridade

Carolina Marins

Do UOL*, em São Paulo

03/09/2019 09h53

O presidente Jair Bolsonaro respondeu hoje que pode haver "quase 20 vetos" à lei de abuso de autoridade. Ele não precisou um número, mas garantiu que não serão apenas nove dentre os dez sugeridos pelo ministro da Justiça e Segurança Pública, Sergio Moro.

Questionado por jornalistas em frente ao Palácio da Alvorada, Bolsonaro disse que "há uma grande chance" de serem anunciados hoje os vetos a artigos do Projeto de Lei 7.596/2017 que define os crimes de abuso de autoridade cometidos por agente público.

"O Moro propôs, se eu não me engano, dez vetos, nove já incluiu e um eu estou discutindo", disse e acrescentou: "Vem mais vetos ainda". Os jornalistas então perguntaram se haveria mais além dos nove já previstos, o que ele respondeu:

Deve chegar a quase 20... É por aí... Não serão só nove

Ele começou dizendo que alguns artigos deveriam ser mantidos, por que "são bons", mas quando questionado sobre quais seriam esses artigos, ele se recusou a responder porque, segundo ele, a imprensa iria dizer que ele "recuou".

O presidente já havia descartado o veto integral ao projeto, dizendo haver "bons artigos". Ontem havia anunciado que vetaria nove dos dez pontos sugeridos por Moro

Bolsonaro tem até a próxima quinta-feira para anunciar a decisão, dia em que termina o prazo de 15 dias úteis para o veto ou sanção. Em caso de veto, o texto volta para análise do Congresso Nacional, que pode manter ou derrubar os vetos presidenciais.

Pelo Projeto, aprovado na Câmara dos Deputados, no dia 14 de agosto, poderá ser considerado abuso de autoridade obter provas por meios ilícitos; executar mandado de busca e apreensão em imóvel, mobilizando veículos, pessoal ou armamento de forma ostensiva para expor o investigado a vexame; impedir encontro reservado entre um preso e seu advogado; e decretar a condução coercitiva de testemunha ou investigado sem intimação prévia de comparecimento ao juízo.

No total, a proposta apresenta 37 ações que poderão ser consideradas abuso de autoridade, quando praticadas com a finalidade específica de prejudicar alguém ou beneficiar a si mesmo ou a terceiro. Entre eles, está o dispositivo que tipifica como abuso de autoridade o uso de algemas em preso quando não houver resistência à prisão ou ameaça de fuga.

O presidente Jair Bolsonaro já afirmou que o trecho sobre a restrição ao uso de algemas será vetado.

*Com Agência Brasil

O governo Bolsonaro teve início em 1º de janeiro de 2019, com a posse do presidente Jair Bolsonaro (então no PSL) e de seu vice-presidente, o general Hamilton Mourão (PRTB). Ao longo de seu mandato, Bolsonaro saiu do PSL e ficou sem partido até filiar ao PL para disputar a eleição de 2022, quando foi derrotado em sua tentativa de reeleição.