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

Ministro do STF diz que polícia pode barrar aglomerações e praias

"As pessoas devem respeitar a saúde da coletividade", afirmou Moraes - Pedro Ladeira - 21.mar.2019/Folhapress
"As pessoas devem respeitar a saúde da coletividade", afirmou Moraes Imagem: Pedro Ladeira - 21.mar.2019/Folhapress

Eduardo Militão

Do UOL, em Brasília

20/04/2020 17h50

Diante da pandemia de coronavírus, autoridades, como a polícia, podem barrar aglomerações, inclusive interditando praias, opinou o ministro do Supremo Tribunal Federal (STF) Alexandre de Moraes. Ele fez as declarações em uma videoconferência promovida pelo Instituto Brasiliense de Direito Público (IDP) e medida por um desembargador e um advogado criminalista na tarde desta segunda-feira (20).

Moraes disse que, desde que haja proporcionalidade na limitação à locomoção, o direito de ir e vir não é violado.

"As pessoas não estão sendo tolhidas de seu direito e ir vir", afirmou ele, ao responder afirmou Moraes, ao responder pergunta do desembargador do Tribunal Regional Federal da 1ª Região Ney Bello, que atua na área criminal. "As pessoas devem respeitar a saúde de toda a coletividade. Se você vai colocar em risco a saúde pública de toda a coletividade, você é que está infringindo uma regra."

Moraes ainda mencionou a existência de um "abuso no exercício do direito de ir e vir" que "pode ser coibido istrativamente".

As afirmações do ministro colidem com a visão do presidente Jair Bolsonaro (sem partido), que tem pregado o direito de ir vir em meio à pandemia. Ao contrário de outras autoridades políticas e de saúde, o presidente não pede que as pessoas façam isolamento social em casa.

Medidas semelhantes foram tomadas antes da pandemia

O ministro do STF disse que, antes da pandemia de covid-19, várias autoridades municipais já limitaram os direitos de movimentação das pessoas. Por isso, ele disse que sequer é preciso tomar medidas penais para restringir a circulação em situações específicas.

Ele citou como exemplos realização de uma corrida de Fórmula 1 em um bairro de São Paulo, uma feira ou um festival numa praça do interior do país.

"A guarda civil tem poder de polícia istrativo e pode evitar que se ingresse", disse Moraes. "Uma vez que esteja determinado o isolamento das praias, pode evitar que se ingresse nas praias."

O ministro disse que, primeiro, é preciso analisar se as limitações à locomoção são proporcionais e razoáveis à preservação da saúde pública.

Depois, é preciso decidir quem vai fiscalizar essa restrição temporária. "As autoridades públicas, inclusive com o apoio da polícia, podem fiscalizar, mas no âmbito istrativo. Não estamos falando, ainda, no âmbito penal."

Questionamentos seria derrubados caso houve proporcionalidade nas restrições. "A pessoa pode alegar direito de ir vir? Não, porque está desrespeitando uma decisão istrativa legal."

Ministro já levou a derrota do governo no STF

Alexandre de Moraes já levou o governo federal a sofrer uma derrota no enfrentamento à pandemia de coronavírus. Uma liminar dele, confirmada no pelo plenário do tribunal, determinou que a União cumpra as ordens de isolamento social expedidas pelos governos estaduais e pelas prefeituras

Baseada na decisão do STF, a Justiça ordenou que escolas militares - dirigidas pelo governo federal - suspendam aulas presenciais para professores.