Redirection - Version 4.2.3

Version Description

  • 16th Apr 2019 =
  • Fix bug with old API routes breaking test
Download this release

Release Info

Developer johnny5
Plugin Icon 128x128 Redirection
Version 4.2.3
Comparing to
See all releases

Code changes from version 4.2.2 to 4.2.3

locale/json/redirection-pt_BR.json CHANGED
@@ -1 +1 @@
1
- {"":[],"This information is provided for debugging purposes. Be careful making any changes.":[""],"Plugin Debug":[""],"Redirection communicates with WordPress through the WordPress REST API. This is a standard part of WordPress, and you will experience problems if you cannot use it.":[""],"IP Headers":[""],"Do not change unless advised to do so!":[""],"Database version":[""],"Complete data (JSON)":[""],"Export to CSV, Apache .htaccess, Nginx, or Redirection JSON. The JSON format contains full information, and other formats contain partial information appropriate to the format.":[""],"CSV does not include all information, and everything is imported/exported as \"URL only\" matches. Use the JSON format for a full set of data.":[""],"All imports will be appended to the current database - nothing is merged.":[""],"Automatic Upgrade":[""],"Manual Upgrade":[""],"Please make a backup of your Redirection data: {{download}}downloading a backup{{/download}}. If you experience any issues you can import this back into Redirection.":[""],"Click the \"Upgrade Database\" button to automatically upgrade the database.":[""],"Complete Upgrade":[""],"If your site needs special database permissions, or you would rather do it yourself, you can manually run the following SQL. Click \"Complete Upgrade\" when finished.":[""],"Redirection stores data in your database and sometimes this needs upgrading. Your database is at version {{strong}}%(current)s{{/strong}} and the latest is {{strong}}%(latest)s{{/strong}}.":[""],"Note that you will need to set the Apache module path in your Redirection options.":[""],"I need support!":[""],"You will need at least one working REST API to continue.":[""],"Check Again":[""],"Testing - %s$":[""],"Show Problems":[""],"Summary":[""],"You are using a broken REST API route. Changing to a working API should fix the problem.":[""],"Your REST API is not working and the plugin will not be able to continue until this is fixed.":[""],"There are some problems connecting to your REST API. It is not necessary to fix these problems and the plugin is able to work.":[""],"Unavailable":[""],"Not working but fixable":[""],"Working but some issues":[""],"Current API":[""],"Switch to this API":[""],"Hide":[""],"Show Full":[""],"Working!":[""],"Your target URL should be an absolute URL like {{code}}https://domain.com/%(url)s{{/code}} or start with a slash {{code}}/%(url)s{{/code}}.":[""],"Your source is the same as a target and this will create a loop. Leave a target blank if you do not want to take action.":[""],"The target URL you want to redirect, or auto-complete on post name or permalink.":[""],"Include these details in your report along with a description of what you were doing and a screenshot":[""],"Create An Issue":[""],"Please {{strong}}create an issue{{/strong}} or send it in an {{strong}}email{{/strong}}.":[""],"That didn't help":[""],"What do I do next?":[""],"Unable to make request due to browser security. This is typically because your WordPress and Site URL settings are inconsistent.":[""],"Possible cause":[""],"WordPress returned an unexpected message. This is probably a PHP error from another plugin.":[""],"This could be a security plugin, or your server is out of memory or has an external error. Please check your server error log":[""],"Your REST API is returning a 404 page. This may be caused by a security plugin, or your server may be misconfigured":[""],"Your REST API is probably being blocked by a security plugin. Please disable this, or configure it to allow REST API requests.":[""],"Read this REST API guide for more information.":[""],"Your REST API is being cached. Please clear any caching plugin and any server cache, logout, clear your browser cache, and try again.":[""],"URL options / Regex":["Opções de URL / Regex"],"Force a redirect from HTTP to the HTTPS version of your WordPress site domain. Please ensure your HTTPS is working before enabling.":["Força um redirecionamento do seu site WordPress, da versão HTTP para HTTPS. Não habilite sem antes conferir se o HTTPS está funcionando."],"Export 404":["Exportar 404"],"Export redirect":["Exportar redirecionamento"],"WordPress permalink structures do not work in normal URLs. Please use a regular expression.":["Estruturas de link permanente do WordPress não funcionam com URLs normais. Use uma expressão regular."],"Unable to update redirect":["Não foi possível atualizar o redirecionamento"],"blur":["borrar"],"focus":["focar"],"scroll":["rolar"],"Pass - as ignore, but also copies the query parameters to the target":["Passar - como ignorar, mas também copia os parâmetros de consulta para o destino"],"Ignore - as exact, but ignores any query parameters not in your source":["Ignorar - como Exato, mas ignora qualquer parâmetro de consulta que não esteja na sua origem"],"Exact - matches the query parameters exactly defined in your source, in any order":["Exato - corresponde os parâmetros de consulta exatamente definidos na origem, em qualquer ordem"],"Default query matching":["Correspondência de consulta padrão"],"Ignore trailing slashes (i.e. {{code}}/exciting-post/{{/code}} will match {{code}}/exciting-post{{/code}})":["Ignorar barra final (ou seja {{code}}/post-legal/{{/code}} vai corresponder com {{code}}/post-legal{{/code}})"],"Case insensitive matches (i.e. {{code}}/Exciting-Post{{/code}} will match {{code}}/exciting-post{{/code}})":["Correspondências insensível à caixa (ou seja {{code}}/Post-Legal{{/code}} vai corresponder com {{code}}/post-legal{{/code}})"],"Applies to all redirections unless you configure them otherwise.":["Aplica-se a todos os redirecionamentos, a menos que você configure eles de outro modo."],"Default URL settings":["Configurações padrão de URL"],"Ignore and pass all query parameters":["Ignorar e passar todos os parâmetros de consulta"],"Ignore all query parameters":["Ignorar todos os parâmetros de consulta"],"Exact match":["Correspondência exata"],"Caching software (e.g Cloudflare)":["Programa de caching (por exemplo, Cloudflare)"],"A security plugin (e.g Wordfence)":["Um plugin de segurança (por exemplo, Wordfence)"],"No more options":["Não há mais opções"],"Query Parameters":["Parâmetros de Consulta"],"Ignore & pass parameters to the target":["Ignorar & passar parâmetros ao destino"],"Ignore all parameters":["Ignorar todos os parâmetros"],"Exact match all parameters in any order":["Correspondência exata de todos os parâmetros em qualquer ordem"],"Ignore Case":["Ignorar Caixa"],"Ignore Slash":["Ignorar Barra"],"Relative REST API":["API REST relativa"],"Raw REST API":["API REST raw"],"Default REST API":["API REST padrão"],"That's all there is to it - you are now redirecting! Note that the above is just an example - you can now enter a redirect.":["Pronto, é só isso, agora você já está redirecionando! O que vai acima é só um exemplo - agora você pode inserir um redirecionamento."],"(Example) The target URL is the new URL":["(Exemplo) O URL de destino é o novo URL"],"(Example) The source URL is your old or original URL":["(Exemplo) O URL de origem é o URL antigo ou oiginal"],"Disabled! Detected PHP %s, need PHP 5.4+":["Desabilitado! Detectado PHP %s, é necessário PHP 5.4+"],"A database upgrade is in progress. Please continue to finish.":["Uma atualização do banco de dados está em andamento. Continue para concluir."],"Redirection's database needs to be updated - <a href=\"%1$1s\">click to update</a>.":["O banco de dados do Redirection precisa ser atualizado - <a href=\"%1$1s\">clique para atualizar</a>."],"Redirection database needs upgrading":["O banco de dados do Redirection precisa ser atualizado"],"Upgrade Required":["Atualização Obrigatória"],"Finish Setup":["Concluir Configuração"],"You have different URLs configured on your WordPress Settings > General page, which is usually an indication of a misconfiguration, and it can cause problems with the REST API. Please review your settings.":["Você tem diferentes URLs configurados na página Configurações > Geral do WordPress, o que geralmente indica um erro de configuração, e isso pode causar problemas com a API REST. Confira suas configurações."],"If you do experience a problem then please consult your plugin documentation, or try contacting your host support. This is generally {{link}}not a problem caused by Redirection{{/link}}.":["Se você tiver um problema, consulte a documentação do seu plugin, ou tente falar com o suporte do provedor de hospedagem. Isso geralmente {{link}}não é um problema causado pelo Redirection{{/link}}."],"Some other plugin that blocks the REST API":["Algum outro plugin que bloqueia a API REST"],"A server firewall or other server configuration (e.g OVH)":["Um firewall do servidor, ou outra configuração do servidor (p.ex. OVH)"],"Redirection uses the {{link}}WordPress REST API{{/link}} to communicate with WordPress. This is enabled and working by default. Sometimes the REST API is blocked by:":["O Redirection usa a {{link}}API REST do WordPress{{/link}} para se comunicar com o WordPress. Isso está ativo e funcionando por padrão. Às vezes a API REST é bloqueada por:"],"Go back":["Voltar"],"Continue Setup":["Continuar a configuração"],"Storing the IP address allows you to perform additional log actions. Note that you will need to adhere to local laws regarding the collection of data (for example GDPR).":["Armazenar o endereço IP permite que você executa outras ações de registro. Observe que você terá que aderir às leis locais com relação à coleta de dados (por exemplo, GDPR)."],"Store IP information for redirects and 404 errors.":["Armazenar informações sobre o IP para redirecionamentos e erros 404."],"Storing logs for redirects and 404s will allow you to see what is happening on your site. This will increase your database storage requirements.":["Armazenar registros de redirecionamentos e erros 404 permite que você veja o que está acontecendo no seu site. Isso aumenta o espaço ocupado pelo banco de dados."],"Keep a log of all redirects and 404 errors.":["Manter um registro de todos os redirecionamentos e erros 404."],"{{link}}Read more about this.{{/link}}":["{{link}}Leia mais sobre isto.{{/link}}"],"If you change the permalink in a post or page then Redirection can automatically create a redirect for you.":["Se você muda o link permanente de um post ou página, o Redirection pode criar automaticamente um redirecionamento para você."],"Monitor permalink changes in WordPress posts and pages":["Monitorar alterações nos links permanentes de posts e páginas do WordPress"],"These are some options you may want to enable now. They can be changed at any time.":["Estas são algumas opções que você pode ativar agora. Elas podem ser alteradas a qualquer hora."],"Basic Setup":["Configuração Básica"],"Start Setup":["Iniciar Configuração"],"When ready please press the button to continue.":["Quando estiver pronto, aperte o botão para continuar."],"First you will be asked a few questions, and then Redirection will set up your database.":["Primeiro você responderá algumas perguntas,e então o Redirection vai configurar seu banco de dados."],"What's next?":["O que vem a seguir?"],"Check a URL is being redirected":["Confira se um URL está sendo redirecionado"],"More powerful URL matching, including {{regular}}regular expressions{{/regular}}, and {{other}}other conditions{{/other}}":["Correspondências de URL mais poderosas, inclusive {{regular}}expressões regulares{{/regular}} e {{other}}outras condições{{/other}}"],"{{link}}Import{{/link}} from .htaccess, CSV, and a variety of other plugins":["{{link}}Importe{{/link}} de um arquivo .htaccess ou CSV e de outros vários plugins"],"{{link}}Monitor 404 errors{{/link}}, get detailed information about the visitor, and fix any problems":["{{link}}Monitore erros 404{{/link}}, obtenha informações detalhadas sobre o visitante, e corrija qualquer problema"],"Some features you may find useful are":["Alguns recursos que você pode achar úteis são"],"Full documentation can be found on the {{link}}Redirection website.{{/link}}":["A documentação completa pode ser encontrada no {{link}}site do Redirection (em inglês).{{/link}}"],"A simple redirect involves setting a {{strong}}source URL{{/strong}} (the old URL) and a {{strong}}target URL{{/strong}} (the new URL). Here's an example:":["Um redirecionamento simples envolve configurar um {{strong}}URL de origem{{/strong}} (o URL antigo) e um {{strong}}URL de destino{{/strong}} (o URL novo). Por exemplo:"],"How do I use this plugin?":["Como eu uso este plugin?"],"Redirection is designed to be used on sites with a few redirects to sites with thousands of redirects.":["O Redirection é projetado para ser usado em sites com poucos redirecionamentos a sites com milhares de redirecionamentos."],"Thank you for installing and using Redirection v%(version)s. This plugin will allow you to manage 301 redirections, keep track of 404 errors, and improve your site, with no knowledge of Apache or Nginx needed.":["Obrigado por instalar e usar o Redirection v%(version)s. Este plugin vai permitir que você administre seus redirecionamentos 301, monitore os erros 404, e melhores seu site, sem precisar conhecimentos de Apache ou Nginx."],"Welcome to Redirection 🚀🎉":["Bem-vindo ao Redirection 🚀🎉"],"This will redirect everything, including the login pages. Please be sure you want to do this.":["Isso vai redirecionar tudo, inclusive as páginas de login. Certifique-se de que realmente quer fazer isso."],"To prevent a greedy regular expression you can use {{code}}^{{/code}} to anchor it to the start of the URL. For example: {{code}}%(example)s{{/code}}":["Para prevenir uma expressão regular gananciosa, você pode usar {{code}}^{{/code}} para ancorá-la ao início do URL. Por exemplo: {{code}}%(example)s{{/code}}"],"Remember to enable the \"regex\" option if this is a regular expression.":["Lembre-se de ativar a opção \"regex\" se isto for uma expressão regular."],"The source URL should probably start with a {{code}}/{{/code}}":["O URL de origem deve provavelmente começar com {{code}}/{{/code}}"],"This will be converted to a server redirect for the domain {{code}}%(server)s{{/code}}.":["Isso vai ser convertido em um redirecionamento por servidor para o domínio {{code}}%(server)s{{/code}}."],"Anchor values are not sent to the server and cannot be redirected.":["Âncoras internas (#) não são enviadas ao servidor e não podem ser redirecionadas."],"{{code}}%(status)d{{/code}} to {{code}}%(target)s{{/code}}":["{{code}}%(status)d{{/code}} para {{code}}%(target)s{{/code}}"],"Finished! 🎉":["Concluído! 🎉"],"Progress: %(complete)d$":["Progresso: %(complete)d$"],"Leaving before the process has completed may cause problems.":["Sair antes de o processo ser concluído pode causar problemas."],"Setting up Redirection":["Configurando o Redirection"],"Upgrading Redirection":["Atualizando o Redirection"],"Please remain on this page until complete.":["Permaneça nesta página até o fim."],"If you want to {{support}}ask for support{{/support}} please include these details:":["Se quiser {{support}}solicitar suporte{{/support}} inclua estes detalhes:"],"Stop upgrade":["Parar atualização"],"Skip this stage":["Pular esta fase"],"Try again":["Tentar de novo"],"Database problem":["Problema no banco de dados"],"Please enable JavaScript":["Ativar o JavaScript"],"Please upgrade your database":["Atualize seu banco de dados"],"Upgrade Database":["Atualizar Banco de Dados"],"Please complete your <a href=\"%s\">Redirection setup</a> to activate the plugin.":["Complete sua <a href=\"%s\">configuração do Redirection</a> para ativar este plugin."],"Your database does not need updating to %s.":["Seu banco de dados não requer atualização para %s."],"Failed to perform query \"%s\"":["Falha ao realizar a consulta \"%s\""],"Table \"%s\" is missing":["A tabela \"%s\" não foi encontrada"],"Create basic data":["Criar dados básicos"],"Install Redirection tables":["Instalar tabelas do Redirection"],"Site and home URL are inconsistent. Please correct from your Settings > General page: %1$1s is not %2$2s":["URL do site e do WordPress são inconsistentes. Corrija na página Configurações > Geral: %1$1s não é %2$2s"],"Please do not try and redirect all your 404s - this is not a good thing to do.":["Não tente redirecionar todos os seus 404s - isso não é uma coisa boa."],"Only the 404 page type is currently supported.":["Somente o tipo de página 404 é suportado atualmente."],"Page Type":["Tipo de página"],"Enter IP addresses (one per line)":["Digite endereços IP (um por linha)"],"Describe the purpose of this redirect (optional)":["Descreva o propósito deste redirecionamento (opcional)"],"418 - I'm a teapot":["418 - Sou uma chaleira"],"403 - Forbidden":["403 - Proibido"],"400 - Bad Request":["400 - Solicitação inválida"],"304 - Not Modified":["304 - Não modificado"],"303 - See Other":["303 - Veja outro"],"Do nothing (ignore)":["Fazer nada (ignorar)"],"Target URL when not matched (empty to ignore)":["URL de destino se não houver correspondência (em branco para ignorar)"],"Target URL when matched (empty to ignore)":["URL de destino se houver correspondência (em branco para ignorar)"],"Show All":["Mostrar todos"],"Delete all logs for these entries":["Excluir todos os registros para estas entradas"],"Delete all logs for this entry":["Excluir todos os registros para esta entrada"],"Delete Log Entries":["Excluir entradas no registro"],"Group by IP":["Agrupar por IP"],"Group by URL":["Agrupar por URL"],"No grouping":["Não agrupar"],"Ignore URL":["Ignorar URL"],"Block IP":["Bloquear IP"],"Redirect All":["Redirecionar todos"],"Count":["Número"],"URL and WordPress page type":["URL e tipo de página do WordPress"],"URL and IP":["URL e IP"],"Problem":["Problema"],"Good":["Bom"],"Check":["Verificar"],"Check Redirect":["Verificar redirecionamento"],"Check redirect for: {{code}}%s{{/code}}":["Verifique o redirecionamento de: {{code}}%s{{/code}}"],"What does this mean?":["O que isto significa?"],"Not using Redirection":["Sem usar o Redirection"],"Using Redirection":["Usando o Redirection"],"Found":["Encontrado"],"{{code}}%(status)d{{/code}} to {{code}}%(url)s{{/code}}":["{{code}}%(status)d{{/code}} para {{code}}%(url)s{{/code}}"],"Expected":["Esperado"],"Error":["Erro"],"Enter full URL, including http:// or https://":["Digite o URL inteiro, incluindo http:// ou https://"],"Sometimes your browser can cache a URL, making it hard to know if it's working as expected. Use this to check a URL to see how it is really redirecting.":["O seu navegador pode fazer cache de URL, o que dificulta saber se um redirecionamento está funcionando como deveria. Use isto para verificar um URL e ver como ele está realmente sendo redirecionado."],"Redirect Tester":["Teste de redirecionamento"],"Target":["Destino"],"URL is not being redirected with Redirection":["O URL não está sendo redirecionado com o Redirection"],"URL is being redirected with Redirection":["O URL está sendo redirecionado com o Redirection"],"Unable to load details":["Não foi possível carregar os detalhes"],"Enter server URL to match against":["Digite o URL do servidor para correspondência"],"Server":["Servidor"],"Enter role or capability value":["Digite a função ou capacidade"],"Role":["Função"],"Match against this browser referrer text":["Texto do referenciador do navegador para correspondênica"],"Match against this browser user agent":["Usuário de agente do navegador para correspondência"],"The relative URL you want to redirect from":["O URL relativo que você quer redirecionar"],"(beta)":["(beta)"],"Force HTTPS":["Forçar HTTPS"],"GDPR / Privacy information":["GDPR / Informações sobre privacidade (em inglês)"],"Add New":["Adicionar novo"],"URL and role/capability":["URL e função/capacidade"],"URL and server":["URL e servidor"],"Site and home protocol":["Protocolo do endereço do WordPress e do site"],"Site and home are consistent":["O endereço do WordPress e do site são consistentes"],"Note it is your responsibility to pass HTTP headers to PHP. Please contact your hosting provider for support about this.":["É sua a responsabilidade de passar cabeçalhos HTTP ao PHP. Contate o suporte de seu provedor de hospedagem e pergunte como fazê-lo."],"Accept Language":["Aceitar Idioma"],"Header value":["Valor do cabeçalho"],"Header name":["Nome cabeçalho"],"HTTP Header":["Cabeçalho HTTP"],"WordPress filter name":["Nome do filtro WordPress"],"Filter Name":["Nome do filtro"],"Cookie value":["Valor do cookie"],"Cookie name":["Nome do cookie"],"Cookie":["Cookie"],"clearing your cache.":["limpando seu cache."],"If you are using a caching system such as Cloudflare then please read this: ":["Se você estiver usando um sistema de cache como o Cloudflare, então leia isto: "],"URL and HTTP header":["URL e cabeçalho HTTP"],"URL and custom filter":["URL e filtro personalizado"],"URL and cookie":["URL e cookie"],"404 deleted":["404 excluído"],"REST API":["API REST"],"How Redirection uses the REST API - don't change unless necessary":["Como o Redirection usa a API REST. Não altere a menos que seja necessário"],"Take a look at the {{link}}plugin status{{/link}}. It may be able to identify and \"magic fix\" the problem.":["Dê uma olhada em {{link}}status do plugin{{/link}}. Ali talvez consiga identificar e fazer a \"Correção mágica\" do problema."],"{{link}}Caching software{{/link}}, in particular Cloudflare, can cache the wrong thing. Try clearing all your caches.":["{{link}}Programas de cache{{/link}}, em particular o Cloudflare, podem fazer o cache da coisa errada. Tente liberar seus caches."],"{{link}}Please temporarily disable other plugins!{{/link}} This fixes so many problems.":["{{link}}Desative temporariamente outros plugins!{{/link}} Isso corrige muitos problemas."],"Please see the <a href=\"https://redirection.me/support/problems/\">list of common problems</a>.":["Consulte a <a href=\"https://redirection.me/support/problems/\">lista de problemas comuns (em inglês)</a>."],"Unable to load Redirection ☹️":["Não foi possível carregar o Redirection ☹️"],"WordPress REST API":["A API REST do WordPress"],"Your WordPress REST API has been disabled. You will need to enable it for Redirection to continue working":["A API REST do WordPress foi desativada. É preciso ativá-la para que o Redirection continue funcionando."],"https://johngodley.com":["https://johngodley.com"],"Useragent Error":["Erro de agente de usuário"],"Unknown Useragent":["Agente de usuário desconhecido"],"Device":["Dispositivo"],"Operating System":["Sistema operacional"],"Browser":["Navegador"],"Engine":["Motor"],"Useragent":["Agente de usuário"],"Agent":["Agente"],"No IP logging":["Não registrar IP"],"Full IP logging":["Registrar IP completo"],"Anonymize IP (mask last part)":["Tornar IP anônimo (mascarar a última parte)"],"Monitor changes to %(type)s":["Monitorar alterações em %(type)s"],"IP Logging":["Registro de IP"],"(select IP logging level)":["(selecione o nível de registro de IP)"],"Geo Info":["Informações geográficas"],"Agent Info":["Informação sobre o agente"],"Filter by IP":["Filtrar por IP"],"Referrer / User Agent":["Referenciador / Agente de usuário"],"Geo IP Error":["Erro IP Geo"],"Something went wrong obtaining this information":["Algo deu errado ao obter essa informação"],"This is an IP from a private network. This means it is located inside a home or business network and no more information can be displayed.":["Este é um IP de uma rede privada. Isso significa que ele está localizado dentro de uma rede residencial ou comercial e nenhuma outra informação pode ser exibida."],"No details are known for this address.":["Nenhum detalhe é conhecido para este endereço."],"Geo IP":["IP Geo"],"City":["Cidade"],"Area":["Região"],"Timezone":["Fuso horário"],"Geo Location":["Coordenadas"],"Powered by {{link}}redirect.li{{/link}}":["Fornecido por {{link}}redirect.li{{/link}}"],"Trash":["Lixeira"],"Please note that Redirection requires the WordPress REST API to be enabled. If you have disabled this then you won't be able to use Redirection":["O Redirection requer a API REST do WordPress para ser ativado. Se você a desativou, não vai conseguir usar o Redirection"],"You can find full documentation about using Redirection on the <a href=\"%s\" target=\"_blank\">redirection.me</a> support site.":["A documentação completa (em inglês) sobre como usar o Redirection se encontra no site <a href=\"%s\" target=\"_blank\">redirection.me</a>."],"https://redirection.me/":["https://redirection.me/"],"Full documentation for Redirection can be found at {{site}}https://redirection.me{{/site}}. If you have a problem please check the {{faq}}FAQ{{/faq}} first.":["A documentação completa do Redirection encontra-se (em inglês) em {{site}}https://redirection.me{{/site}}. Se tiver algum problema, consulte primeiro as {{faq}}Perguntas frequentes{{/faq}}."],"If you want to report a bug please read the {{report}}Reporting Bugs{{/report}} guide.":["Se quiser comunicar um erro, leia o guia {{report}}Comunicando erros (em inglês){{/report}}."],"If you want to submit information that you don't want in a public repository then send it directly via {{email}}email{{/email}} - include as much information as you can!":["Se quiser enviar informações que não possam ser tornadas públicas, então remeta-as diretamente (em inglês) por {{email}}e-mail{{/email}}. Inclua o máximo de informação que puder!"],"Never cache":["Nunca fazer cache"],"An hour":["Uma hora"],"Redirect Cache":["Cache dos redirecionamentos"],"How long to cache redirected 301 URLs (via \"Expires\" HTTP header)":["O tempo que deve ter o cache dos URLs redirecionados com 301 (via \"Expires\" no cabeçalho HTTP)"],"Are you sure you want to import from %s?":["Tem certeza de que deseja importar de %s?"],"Plugin Importers":["Importar de plugins"],"The following redirect plugins were detected on your site and can be imported from.":["Os seguintes plugins de redirecionamento foram detectados em seu site e se pode importar deles."],"total = ":["total = "],"Import from %s":["Importar de %s"],"Redirection requires WordPress v%1$1s, you are using v%2$2s - please update your WordPress":["O Redirection requer o WordPress v%1$1s, mas você está usando a versão v%2$2s. Atualize o WordPress"],"Default WordPress \"old slugs\"":["Redirecionamentos de \"slugs anteriores\" do WordPress"],"Create associated redirect (added to end of URL)":["Criar redirecionamento atrelado (adicionado ao fim do URL)"],"<code>Redirectioni10n</code> is not defined. This usually means another plugin is blocking Redirection from loading. Please disable all plugins and try again.":["O <code>Redirectioni10n</code> não está definido. Isso geralmente significa que outro plugin está impedindo o Redirection de carregar. Desative todos os plugins e tente novamente."],"If the magic button doesn't work then you should read the error and see if you can fix it manually, otherwise follow the 'Need help' section below.":["Se o botão Correção mágica não funcionar, você deve ler o erro e verificar se consegue corrigi-lo manualmente. Caso contrário, siga a seção \"Preciso de ajuda\" abaixo."],"⚡️ Magic fix ⚡️":["⚡️ Correção mágica ⚡️"],"Plugin Status":["Status do plugin"],"Custom":["Personalizado"],"Mobile":["Móvel"],"Feed Readers":["Leitores de feed"],"Libraries":["Bibliotecas"],"URL Monitor Changes":["Alterações do monitoramento de URLs"],"Save changes to this group":["Salvar alterações neste grupo"],"For example \"/amp\"":["Por exemplo, \"/amp\""],"URL Monitor":["Monitoramento de URLs"],"Delete 404s":["Excluir 404s"],"Delete all from IP %s":["Excluir registros do IP %s"],"Delete all matching \"%s\"":["Excluir tudo que corresponder a \"%s\""],"Your server has rejected the request for being too big. You will need to change it to continue.":["Seu servidor rejeitou a solicitação por ela ser muito grande. Você precisará alterá-la para continuar."],"Also check if your browser is able to load <code>redirection.js</code>:":["Além disso, verifique se o seu navegador é capaz de carregar <code>redirection.js</code>:"],"If you are using a page caching plugin or service (CloudFlare, OVH, etc) then you can also try clearing that cache.":["Se você estiver usando um plugin ou serviço de cache de página (CloudFlare, OVH, etc), então você também poderá tentar limpar esse cache."],"Unable to load Redirection":["Não foi possível carregar o Redirection"],"Unable to create group":["Não foi possível criar grupo"],"Post monitor group is valid":["O grupo do monitoramento de posts é válido"],"Post monitor group is invalid":["O grupo de monitoramento de post é inválido"],"Post monitor group":["Grupo do monitoramento de posts"],"All redirects have a valid group":["Todos os redirecionamentos têm um grupo válido"],"Redirects with invalid groups detected":["Redirecionamentos com grupos inválidos detectados"],"Valid redirect group":["Grupo de redirecionamento válido"],"Valid groups detected":["Grupos válidos detectados"],"No valid groups, so you will not be able to create any redirects":["Nenhum grupo válido. Portanto, você não poderá criar redirecionamentos"],"Valid groups":["Grupos válidos"],"Database tables":["Tabelas do banco de dados"],"The following tables are missing:":["As seguintes tabelas estão faltando:"],"All tables present":["Todas as tabelas presentes"],"Cached Redirection detected":["O Redirection foi detectado no cache"],"Please clear your browser cache and reload this page.":["Limpe o cache do seu navegador e recarregue esta página."],"WordPress did not return a response. This could mean an error occurred or that the request was blocked. Please check your server error_log.":["O WordPress não retornou uma resposta. Isso pode significar que ocorreu um erro ou que a solicitação foi bloqueada. Confira o error_log de seu servidor."],"If you think Redirection is at fault then create an issue.":["Se você acha que o erro é do Redirection, abra um chamado."],"This may be caused by another plugin - look at your browser's error console for more details.":["Isso pode ser causado por outro plugin - veja o console de erros do seu navegador para mais detalhes."],"Loading, please wait...":["Carregando, aguarde..."],"{{strong}}CSV file format{{/strong}}: {{code}}source URL, target URL{{/code}} - and can be optionally followed with {{code}}regex, http code{{/code}} ({{code}}regex{{/code}} - 0 for no, 1 for yes).":["{{strong}}Formato do arquivo CSV{{/strong}}: {{code}}URL de origem, URL de destino{{/code}} - e pode ser opcionalmente seguido com {{code}}regex, código http{{/code}} ({{code}}regex{{/code}} - 0 para não, 1 para sim)."],"Redirection is not working. Try clearing your browser cache and reloading this page.":["O Redirection não está funcionando. Tente limpar o cache do navegador e recarregar esta página."],"If that doesn't help, open your browser's error console and create a {{link}}new issue{{/link}} with the details.":["Se isso não ajudar, abra o console de erros de seu navegador e crie um {{link}}novo chamado{{/link}} com os detalhes."],"Create Issue":["Criar chamado"],"Email":["E-mail"],"Need help?":["Precisa de ajuda?"],"Please note that any support is provide on as-time-is-available basis and is not guaranteed. I do not provide paid support.":["Qualquer suporte somente é oferecido à medida que haja tempo disponível, e não é garantido. Não ofereço suporte pago."],"Pos":["Pos"],"410 - Gone":["410 - Não existe mais"],"Position":["Posição"],"Used to auto-generate a URL if no URL is given. Use the special tags {{code}}$dec${{/code}} or {{code}}$hex${{/code}} to insert a unique ID instead":["Usado na auto-geração do URL se nenhum URL for dado. Use as tags especiais {{code}}$dec${{/code}} ou {{code}}$hex${{/code}} para em vez disso inserir um ID único"],"Apache Module":["Módulo Apache"],"Enter the full path and filename if you want Redirection to automatically update your {{code}}.htaccess{{/code}}.":["Digite o caminho completo e o nome do arquivo se quiser que o Redirection atualize o {{code}}.htaccess{{/code}}."],"Import to group":["Importar para grupo"],"Import a CSV, .htaccess, or JSON file.":["Importar um arquivo CSV, .htaccess ou JSON."],"Click 'Add File' or drag and drop here.":["Clique 'Adicionar arquivo' ou arraste e solte aqui."],"Add File":["Adicionar arquivo"],"File selected":["Arquivo selecionado"],"Importing":["Importando"],"Finished importing":["Importação concluída"],"Total redirects imported:":["Total de redirecionamentos importados:"],"Double-check the file is the correct format!":["Verifique novamente se o arquivo é o formato correto!"],"OK":["OK"],"Close":["Fechar"],"Export":["Exportar"],"Everything":["Tudo"],"WordPress redirects":["Redirecionamentos WordPress"],"Apache redirects":["Redirecionamentos Apache"],"Nginx redirects":["Redirecionamentos Nginx"],"CSV":["CSV"],"Apache .htaccess":[".htaccess do Apache"],"Nginx rewrite rules":["Regras de reescrita do Nginx"],"View":["Ver"],"Import/Export":["Importar/Exportar"],"Logs":["Registros"],"404 errors":["Erro 404"],"Please mention {{code}}%s{{/code}}, and explain what you were doing at the time":["Mencione {{code}}%s{{/code}} e explique o que estava fazendo no momento"],"I'd like to support some more.":["Eu gostaria de ajudar mais um pouco."],"Support 💰":["Doação 💰"],"Redirection saved":["Redirecionamento salvo"],"Log deleted":["Registro excluído"],"Settings saved":["Configurações salvas"],"Group saved":["Grupo salvo"],"Are you sure you want to delete this item?":["Tem certeza de que deseja excluir este item?","Tem certeza de que deseja excluir estes item?"],"pass":["manter url"],"All groups":["Todos os grupos"],"301 - Moved Permanently":["301 - Mudou permanentemente"],"302 - Found":["302 - Encontrado"],"307 - Temporary Redirect":["307 - Redirecionamento temporário"],"308 - Permanent Redirect":["308 - Redirecionamento permanente"],"401 - Unauthorized":["401 - Não autorizado"],"404 - Not Found":["404 - Não encontrado"],"Title":["Título"],"When matched":["Quando corresponder"],"with HTTP code":["com código HTTP"],"Show advanced options":["Exibir opções avançadas"],"Matched Target":["Destino se correspondido"],"Unmatched Target":["Destino se não correspondido"],"Saving...":["Salvando..."],"View notice":["Veja o aviso"],"Invalid source URL":["URL de origem inválido"],"Invalid redirect action":["Ação de redirecionamento inválida"],"Invalid redirect matcher":["Critério de redirecionamento inválido"],"Unable to add new redirect":["Não foi possível criar novo redirecionamento"],"Something went wrong 🙁":["Algo deu errado 🙁"],"Log entries (%d max)":["Entradas do registro (máx %d)"],"Search by IP":["Pesquisar por IP"],"Select bulk action":["Selecionar ações em massa"],"Bulk Actions":["Ações em massa"],"Apply":["Aplicar"],"First page":["Primeira página"],"Prev page":["Página anterior"],"Current Page":["Página atual"],"of %(page)s":["de %(page)s"],"Next page":["Próxima página"],"Last page":["Última página"],"%s item":["%s item","%s itens"],"Select All":["Selecionar tudo"],"Sorry, something went wrong loading the data - please try again":["Desculpe, mas algo deu errado ao carregar os dados - tente novamente"],"No results":["Nenhum resultado"],"Delete the logs - are you sure?":["Excluir os registros - Você tem certeza?"],"Once deleted your current logs will no longer be available. You can set a delete schedule from the Redirection options if you want to do this automatically.":["Uma vez excluídos, seus registros atuais não estarão mais disponíveis. Você pode agendar uma exclusão na opções do plugin Redirection, se quiser fazê-la automaticamente."],"Yes! Delete the logs":["Sim! Exclua os registros"],"No! Don't delete the logs":["Não! Não exclua os registros"],"Thanks for subscribing! {{a}}Click here{{/a}} if you need to return to your subscription.":["Obrigado pela assinatura! {{a}}Clique aqui{{/a}} se você precisar retornar à sua assinatura."],"Newsletter":["Boletim"],"Want to keep up to date with changes to Redirection?":["Quer ficar a par de mudanças no Redirection?"],"Sign up for the tiny Redirection newsletter - a low volume newsletter about new features and changes to the plugin. Ideal if you want to test beta changes before release.":["Inscreva-se no boletim do Redirection. O boletim tem baixo volume de mensagens e informa sobre novos recursos e alterações no plugin. Ideal se quiser testar alterações beta antes do lançamento."],"Your email address:":["Seu endereço de e-mail:"],"You've supported this plugin - thank you!":["Você apoiou este plugin - obrigado!"],"You get useful software and I get to carry on making it better.":["Você obtém softwares úteis e eu continuo fazendo isso melhor."],"Forever":["Para sempre"],"Delete the plugin - are you sure?":["Excluir o plugin - Você tem certeza?"],"Deleting the plugin will remove all your redirections, logs, and settings. Do this if you want to remove the plugin for good, or if you want to reset the plugin.":["A exclusão do plugin irá remover todos os seus redirecionamentos, logs e configurações. Faça isso se desejar remover o plugin para sempre, ou se quiser reiniciar o plugin."],"Once deleted your redirections will stop working. If they appear to continue working then please clear your browser cache.":["Uma vez excluído, os seus redirecionamentos deixarão de funcionar. Se eles parecerem continuar funcionando, limpe o cache do seu navegador."],"Yes! Delete the plugin":["Sim! Exclua o plugin"],"No! Don't delete the plugin":["Não! Não exclua o plugin"],"John Godley":["John Godley"],"Manage all your 301 redirects and monitor 404 errors":["Gerencie todos os seus redirecionamentos 301 e monitore erros 404"],"Redirection is free to use - life is wonderful and lovely! It has required a great deal of time and effort to develop and you can help support this development by {{strong}}making a small donation{{/strong}}.":["O Redirection é livre para usar - a vida é maravilhosa e adorável! Foi necessário muito tempo e esforço para desenvolver e você pode ajudar a apoiar esse desenvolvimento {{strong}}fazendo uma pequena doação{{/strong}}."],"Redirection Support":["Ajuda do Redirection"],"Support":["Ajuda"],"404s":["404s"],"Log":["Registro"],"Selecting this option will delete all redirections, all logs, and any options associated with the Redirection plugin. Make sure this is what you want to do.":["Selecionar esta opção irá remover todos os redirecionamentos, logs e todas as opções associadas ao plugin Redirection. Certifique-se de que é isso mesmo que deseja fazer."],"Delete Redirection":["Excluir o Redirection"],"Upload":["Carregar"],"Import":["Importar"],"Update":["Atualizar"],"Auto-generate URL":["Gerar automaticamente o URL"],"A unique token allowing feed readers access to Redirection log RSS (leave blank to auto-generate)":["Um token exclusivo que permite a leitores de feed o acesso ao RSS do registro do Redirection (deixe em branco para gerar automaticamente)"],"RSS Token":["Token RSS"],"404 Logs":["Registros de 404"],"(time to keep logs for)":["(tempo para manter os registros)"],"Redirect Logs":["Registros de redirecionamento"],"I'm a nice person and I have helped support the author of this plugin":["Eu sou uma pessoa legal e ajudei a apoiar o autor deste plugin"],"Plugin Support":["Suporte do plugin"],"Options":["Opções"],"Two months":["Dois meses"],"A month":["Um mês"],"A week":["Uma semana"],"A day":["Um dia"],"No logs":["Não registrar"],"Delete All":["Apagar Tudo"],"Use groups to organise your redirects. Groups are assigned to a module, which affects how the redirects in that group work. If you are unsure then stick to the WordPress module.":["Use grupos para organizar os seus redirecionamentos. Os grupos são associados a um módulo, e o módulo afeta como os redirecionamentos do grupo funcionam. Na dúvida, use o módulo WordPress."],"Add Group":["Adicionar grupo"],"Search":["Pesquisar"],"Groups":["Grupos"],"Save":["Salvar"],"Group":["Grupo"],"Match":["Corresponder"],"Add new redirection":["Adicionar novo redirecionamento"],"Cancel":["Cancelar"],"Download":["Baixar"],"Redirection":["Redirection"],"Settings":["Configurações"],"Error (404)":["Erro (404)"],"Pass-through":["Manter URL de origem"],"Redirect to random post":["Redirecionar para um post aleatório"],"Redirect to URL":["Redirecionar para URL"],"Invalid group when creating redirect":["Grupo inválido ao criar o redirecionamento"],"IP":["IP"],"Source URL":["URL de origem"],"Date":["Data"],"Add Redirect":["Adicionar redirecionamento"],"All modules":["Todos os módulos"],"View Redirects":["Ver redirecionamentos"],"Module":["Módulo"],"Redirects":["Redirecionamentos"],"Name":["Nome"],"Filter":["Filtrar"],"Reset hits":["Redefinir acessos"],"Enable":["Ativar"],"Disable":["Desativar"],"Delete":["Excluir"],"Edit":["Editar"],"Last Access":["Último Acesso"],"Hits":["Acessos"],"URL":["URL"],"Type":["Tipo"],"Modified Posts":["Posts modificados"],"Redirections":["Redirecionamentos"],"User Agent":["Agente de usuário"],"URL and user agent":["URL e agente de usuário"],"Target URL":["URL de destino"],"URL only":["URL somente"],"Regex":["Regex"],"Referrer":["Referenciador"],"URL and referrer":["URL e referenciador"],"Logged Out":["Desconectado"],"Logged In":["Conectado"],"URL and login status":["URL e status de login"]}
1
+ {"":[],"This information is provided for debugging purposes. Be careful making any changes.":["Esta informação é fornecida somente para depuração. Cuidado ao fazer qualquer mudança."],"Plugin Debug":["Depuração do Plugin"],"Redirection communicates with WordPress through the WordPress REST API. This is a standard part of WordPress, and you will experience problems if you cannot use it.":["O Redirection se comunica com o WordPress por meio da API REST do WordPress. Ela é uma parte integrante do WordPress, e você terá problemas se não conseguir usá-la."],"IP Headers":["Cabeçalhos IP"],"Do not change unless advised to do so!":["Não altere, a menos que seja aconselhado a fazê-lo!"],"Database version":["Versão do banco de dados"],"Complete data (JSON)":["Dados completos (JSON)"],"Export to CSV, Apache .htaccess, Nginx, or Redirection JSON. The JSON format contains full information, and other formats contain partial information appropriate to the format.":["Exporte para CSV, .htaccess do Apache, Nginx, ou JSON do Redirection. O formato JSON contém todas as informações; os outros formatos contêm informações parciais apropriadas a cada formato."],"CSV does not include all information, and everything is imported/exported as \"URL only\" matches. Use the JSON format for a full set of data.":["O CSV não inclui todas as informações e tudo é importado/exportado como correspondências \"URL somente\". Use o formato JSON se quiser o conjunto completo dos dados."],"All imports will be appended to the current database - nothing is merged.":["Todas as importações são adicionadas ao banco de dados - nada é fundido."],"Automatic Upgrade":["Upgrade Automático"],"Manual Upgrade":["Upgrade Manual"],"Please make a backup of your Redirection data: {{download}}downloading a backup{{/download}}. If you experience any issues you can import this back into Redirection.":["Faça um backup dos seus dados no Redirection: {{download}}baixar um backup{{/download}}. Se houver qualquer problema, você pode importar esses dados de novo para o Redirection."],"Click the \"Upgrade Database\" button to automatically upgrade the database.":["Clique no botão \"Upgrade do Banco de Dados\" para fazer automaticamente um upgrade do banco de dados."],"Complete Upgrade":["Completar Upgrade"],"If your site needs special database permissions, or you would rather do it yourself, you can manually run the following SQL. Click \"Complete Upgrade\" when finished.":["Se o seu site precisa de permissões especais para o banco de dados, ou se preferir fazer por conta própria, você pode manualmente rodar o seguinte SQL. Clique \"Completar Upgrade\" quando acabar."],"Redirection stores data in your database and sometimes this needs upgrading. Your database is at version {{strong}}%(current)s{{/strong}} and the latest is {{strong}}%(latest)s{{/strong}}.":["O Redirection armazena dados em seu banco de dados e às vezes ele precisa ser atualizado. O seu banco de dados está na versão {{strong}}%(current)s{{/strong}} e a mais recente é a {{strong}}%(latest)s{{/strong}}."],"Note that you will need to set the Apache module path in your Redirection options.":["Observe que você precisa indicar o caminho do módulo Apache em suas opções do Redirection."],"I need support!":["Preciso de ajuda!"],"You will need at least one working REST API to continue.":["É preciso pelo menos uma API REST funcionando para continuar."],"Check Again":["Conferir Novamente"],"Testing - %s$":["Testando - %s$"],"Show Problems":["Mostrar Problemas"],"Summary":["Sumário"],"You are using a broken REST API route. Changing to a working API should fix the problem.":["Você está usando uma rota inválida para a API REST. Mudar para uma API em funcionamento deve resolver o problema."],"Your REST API is not working and the plugin will not be able to continue until this is fixed.":["A API REST não está funcionando e o plugin não conseguirá continuar até que isso seja corrigido."],"There are some problems connecting to your REST API. It is not necessary to fix these problems and the plugin is able to work.":["Há alguns problemas para conectar à sua API REST. Não é preciso corrigir esses problemas e o plugin está conseguindo funcionar."],"Unavailable":["Indisponível"],"Not working but fixable":["Não está funcionando, mas dá para arrumar"],"Working but some issues":["Funcionando, mas com alguns problemas"],"Current API":["API atual"],"Switch to this API":["Troque para esta API"],"Hide":["Ocultar"],"Show Full":["Mostrar Tudo"],"Working!":["Funcionando!"],"Your target URL should be an absolute URL like {{code}}https://domain.com/%(url)s{{/code}} or start with a slash {{code}}/%(url)s{{/code}}.":["O URL de destino deve ser um URL absoluto, como {{code}}https://domain.com/%(url)s{{/code}} ou iniciar com uma barra {{code}}/%(url)s{{/code}}."],"Your source is the same as a target and this will create a loop. Leave a target blank if you do not want to take action.":["Seu destino é o mesmo que uma origem e isso vai criar um loop. Deixe o destino em branco se você não quiser nenhuma ação."],"The target URL you want to redirect, or auto-complete on post name or permalink.":["O URL de destino que você quer redirecionar, ou auto-completar com o nome do post ou link permanente."],"Include these details in your report along with a description of what you were doing and a screenshot":["Inclua esses detales em seu relato, junto com uma descrição do que você estava fazendo e uma captura de tela"],"Create An Issue":["Criar um Relato"],"Please {{strong}}create an issue{{/strong}} or send it in an {{strong}}email{{/strong}}.":["{{strong}}Crie um relato{{/strong}} ou o envie num {{strong}}e-mail{{/strong}}."],"That didn't help":["Isso não ajudou"],"What do I do next?":["O que eu faço agora?"],"Unable to make request due to browser security. This is typically because your WordPress and Site URL settings are inconsistent.":["Não foi possível fazer a solicitação devido à segurança do navegador. Geralmente isso acontece porque o URL do WordPress e o URL do Site são inconsistentes."],"Possible cause":["Possível causa"],"WordPress returned an unexpected message. This is probably a PHP error from another plugin.":["O WordPress retornou uma mensagem inesperada. Isso provavelmente é um erro de PHP de um outro plugin."],"This could be a security plugin, or your server is out of memory or has an external error. Please check your server error log":["Este pode ser um plugin de segurança, ou o seu servidor está com pouca memória, ou tem um erro externo. Confira os registros do seu servidor."],"Your REST API is returning a 404 page. This may be caused by a security plugin, or your server may be misconfigured":["Sua API REST está retornando uma página 404. Isso pode ser causado por um plugin de segurança, ou o seu servidor pode estar mal configurado."],"Your REST API is probably being blocked by a security plugin. Please disable this, or configure it to allow REST API requests.":["Sua API REST provavelmente está sendo bloqueada por um plugin de segurança. Por favor desative ele, ou o configure para permitir solicitações à API REST."],"Read this REST API guide for more information.":["Leia este guia da API REST para mais informações."],"Your REST API is being cached. Please clear any caching plugin and any server cache, logout, clear your browser cache, and try again.":["Sua API REST API está sendo enviada para o cache. Por favor libere todos os caches, de plugin ou do servidor, saia do WordPress, libere o cache do seu navegador, e tente novamente."],"URL options / Regex":["Opções de URL / Regex"],"Force a redirect from HTTP to the HTTPS version of your WordPress site domain. Please ensure your HTTPS is working before enabling.":["Força um redirecionamento do seu site WordPress, da versão HTTP para HTTPS. Não habilite sem antes conferir se o HTTPS está funcionando."],"Export 404":["Exportar 404"],"Export redirect":["Exportar redirecionamento"],"WordPress permalink structures do not work in normal URLs. Please use a regular expression.":["Estruturas de link permanente do WordPress não funcionam com URLs normais. Use uma expressão regular."],"Unable to update redirect":["Não foi possível atualizar o redirecionamento"],"blur":["borrar"],"focus":["focar"],"scroll":["rolar"],"Pass - as ignore, but also copies the query parameters to the target":["Passar - como ignorar, mas também copia os parâmetros de consulta para o destino"],"Ignore - as exact, but ignores any query parameters not in your source":["Ignorar - como Exato, mas ignora qualquer parâmetro de consulta que não esteja na sua origem"],"Exact - matches the query parameters exactly defined in your source, in any order":["Exato - corresponde os parâmetros de consulta exatamente definidos na origem, em qualquer ordem"],"Default query matching":["Correspondência de consulta padrão"],"Ignore trailing slashes (i.e. {{code}}/exciting-post/{{/code}} will match {{code}}/exciting-post{{/code}})":["Ignorar barra final (ou seja {{code}}/post-legal/{{/code}} vai corresponder com {{code}}/post-legal{{/code}})"],"Case insensitive matches (i.e. {{code}}/Exciting-Post{{/code}} will match {{code}}/exciting-post{{/code}})":["Correspondências insensível à caixa (ou seja {{code}}/Post-Legal{{/code}} vai corresponder com {{code}}/post-legal{{/code}})"],"Applies to all redirections unless you configure them otherwise.":["Aplica-se a todos os redirecionamentos, a menos que você configure eles de outro modo."],"Default URL settings":["Configurações padrão de URL"],"Ignore and pass all query parameters":["Ignorar e passar todos os parâmetros de consulta"],"Ignore all query parameters":["Ignorar todos os parâmetros de consulta"],"Exact match":["Correspondência exata"],"Caching software (e.g Cloudflare)":["Programa de caching (por exemplo, Cloudflare)"],"A security plugin (e.g Wordfence)":["Um plugin de segurança (por exemplo, Wordfence)"],"No more options":["Não há mais opções"],"Query Parameters":["Parâmetros de Consulta"],"Ignore & pass parameters to the target":["Ignorar & passar parâmetros ao destino"],"Ignore all parameters":["Ignorar todos os parâmetros"],"Exact match all parameters in any order":["Correspondência exata de todos os parâmetros em qualquer ordem"],"Ignore Case":["Ignorar Caixa"],"Ignore Slash":["Ignorar Barra"],"Relative REST API":["API REST relativa"],"Raw REST API":["API REST raw"],"Default REST API":["API REST padrão"],"That's all there is to it - you are now redirecting! Note that the above is just an example - you can now enter a redirect.":["Pronto, é só isso, agora você já está redirecionando! O que vai acima é só um exemplo - agora você pode inserir um redirecionamento."],"(Example) The target URL is the new URL":["(Exemplo) O URL de destino é o novo URL"],"(Example) The source URL is your old or original URL":["(Exemplo) O URL de origem é o URL antigo ou oiginal"],"Disabled! Detected PHP %s, need PHP 5.4+":["Desabilitado! Detectado PHP %s, é necessário PHP 5.4+"],"A database upgrade is in progress. Please continue to finish.":["Uma atualização do banco de dados está em andamento. Continue para concluir."],"Redirection's database needs to be updated - <a href=\"%1$1s\">click to update</a>.":["O banco de dados do Redirection precisa ser atualizado - <a href=\"%1$1s\">clique para atualizar</a>."],"Redirection database needs upgrading":["O banco de dados do Redirection precisa ser atualizado"],"Upgrade Required":["Atualização Obrigatória"],"Finish Setup":["Concluir Configuração"],"You have different URLs configured on your WordPress Settings > General page, which is usually an indication of a misconfiguration, and it can cause problems with the REST API. Please review your settings.":["Você tem diferentes URLs configurados na página Configurações > Geral do WordPress, o que geralmente indica um erro de configuração, e isso pode causar problemas com a API REST. Confira suas configurações."],"If you do experience a problem then please consult your plugin documentation, or try contacting your host support. This is generally {{link}}not a problem caused by Redirection{{/link}}.":["Se você tiver um problema, consulte a documentação do seu plugin, ou tente falar com o suporte do provedor de hospedagem. Isso geralmente {{link}}não é um problema causado pelo Redirection{{/link}}."],"Some other plugin that blocks the REST API":["Algum outro plugin que bloqueia a API REST"],"A server firewall or other server configuration (e.g OVH)":["Um firewall do servidor, ou outra configuração do servidor (p.ex. OVH)"],"Redirection uses the {{link}}WordPress REST API{{/link}} to communicate with WordPress. This is enabled and working by default. Sometimes the REST API is blocked by:":["O Redirection usa a {{link}}API REST do WordPress{{/link}} para se comunicar com o WordPress. Isso está ativo e funcionando por padrão. Às vezes a API REST é bloqueada por:"],"Go back":["Voltar"],"Continue Setup":["Continuar a configuração"],"Storing the IP address allows you to perform additional log actions. Note that you will need to adhere to local laws regarding the collection of data (for example GDPR).":["Armazenar o endereço IP permite que você executa outras ações de registro. Observe que você terá que aderir às leis locais com relação à coleta de dados (por exemplo, GDPR)."],"Store IP information for redirects and 404 errors.":["Armazenar informações sobre o IP para redirecionamentos e erros 404."],"Storing logs for redirects and 404s will allow you to see what is happening on your site. This will increase your database storage requirements.":["Armazenar registros de redirecionamentos e erros 404 permite que você veja o que está acontecendo no seu site. Isso aumenta o espaço ocupado pelo banco de dados."],"Keep a log of all redirects and 404 errors.":["Manter um registro de todos os redirecionamentos e erros 404."],"{{link}}Read more about this.{{/link}}":["{{link}}Leia mais sobre isto.{{/link}}"],"If you change the permalink in a post or page then Redirection can automatically create a redirect for you.":["Se você muda o link permanente de um post ou página, o Redirection pode criar automaticamente um redirecionamento para você."],"Monitor permalink changes in WordPress posts and pages":["Monitorar alterações nos links permanentes de posts e páginas do WordPress"],"These are some options you may want to enable now. They can be changed at any time.":["Estas são algumas opções que você pode ativar agora. Elas podem ser alteradas a qualquer hora."],"Basic Setup":["Configuração Básica"],"Start Setup":["Iniciar Configuração"],"When ready please press the button to continue.":["Quando estiver pronto, aperte o botão para continuar."],"First you will be asked a few questions, and then Redirection will set up your database.":["Primeiro você responderá algumas perguntas,e então o Redirection vai configurar seu banco de dados."],"What's next?":["O que vem a seguir?"],"Check a URL is being redirected":["Confira se um URL está sendo redirecionado"],"More powerful URL matching, including {{regular}}regular expressions{{/regular}}, and {{other}}other conditions{{/other}}":["Correspondências de URL mais poderosas, inclusive {{regular}}expressões regulares{{/regular}} e {{other}}outras condições{{/other}}"],"{{link}}Import{{/link}} from .htaccess, CSV, and a variety of other plugins":["{{link}}Importe{{/link}} de um arquivo .htaccess ou CSV e de outros vários plugins"],"{{link}}Monitor 404 errors{{/link}}, get detailed information about the visitor, and fix any problems":["{{link}}Monitore erros 404{{/link}}, obtenha informações detalhadas sobre o visitante, e corrija qualquer problema"],"Some features you may find useful are":["Alguns recursos que você pode achar úteis são"],"Full documentation can be found on the {{link}}Redirection website.{{/link}}":["A documentação completa pode ser encontrada no {{link}}site do Redirection (em inglês).{{/link}}"],"A simple redirect involves setting a {{strong}}source URL{{/strong}} (the old URL) and a {{strong}}target URL{{/strong}} (the new URL). Here's an example:":["Um redirecionamento simples envolve configurar um {{strong}}URL de origem{{/strong}} (o URL antigo) e um {{strong}}URL de destino{{/strong}} (o URL novo). Por exemplo:"],"How do I use this plugin?":["Como eu uso este plugin?"],"Redirection is designed to be used on sites with a few redirects to sites with thousands of redirects.":["O Redirection é projetado para ser usado em sites com poucos redirecionamentos a sites com milhares de redirecionamentos."],"Thank you for installing and using Redirection v%(version)s. This plugin will allow you to manage 301 redirections, keep track of 404 errors, and improve your site, with no knowledge of Apache or Nginx needed.":["Obrigado por instalar e usar o Redirection v%(version)s. Este plugin vai permitir que você administre seus redirecionamentos 301, monitore os erros 404, e melhores seu site, sem precisar conhecimentos de Apache ou Nginx."],"Welcome to Redirection 🚀🎉":["Bem-vindo ao Redirection 🚀🎉"],"This will redirect everything, including the login pages. Please be sure you want to do this.":["Isso vai redirecionar tudo, inclusive as páginas de login. Certifique-se de que realmente quer fazer isso."],"To prevent a greedy regular expression you can use {{code}}^{{/code}} to anchor it to the start of the URL. For example: {{code}}%(example)s{{/code}}":["Para prevenir uma expressão regular gananciosa, você pode usar {{code}}^{{/code}} para ancorá-la ao início do URL. Por exemplo: {{code}}%(example)s{{/code}}"],"Remember to enable the \"regex\" option if this is a regular expression.":["Lembre-se de ativar a opção \"regex\" se isto for uma expressão regular."],"The source URL should probably start with a {{code}}/{{/code}}":["O URL de origem deve provavelmente começar com {{code}}/{{/code}}"],"This will be converted to a server redirect for the domain {{code}}%(server)s{{/code}}.":["Isso vai ser convertido em um redirecionamento por servidor para o domínio {{code}}%(server)s{{/code}}."],"Anchor values are not sent to the server and cannot be redirected.":["Âncoras internas (#) não são enviadas ao servidor e não podem ser redirecionadas."],"{{code}}%(status)d{{/code}} to {{code}}%(target)s{{/code}}":["{{code}}%(status)d{{/code}} para {{code}}%(target)s{{/code}}"],"Finished! 🎉":["Concluído! 🎉"],"Progress: %(complete)d$":["Progresso: %(complete)d$"],"Leaving before the process has completed may cause problems.":["Sair antes de o processo ser concluído pode causar problemas."],"Setting up Redirection":["Configurando o Redirection"],"Upgrading Redirection":["Atualizando o Redirection"],"Please remain on this page until complete.":["Permaneça nesta página até o fim."],"If you want to {{support}}ask for support{{/support}} please include these details:":["Se quiser {{support}}solicitar suporte{{/support}} inclua estes detalhes:"],"Stop upgrade":["Parar atualização"],"Skip this stage":["Pular esta fase"],"Try again":["Tentar de novo"],"Database problem":["Problema no banco de dados"],"Please enable JavaScript":["Ativar o JavaScript"],"Please upgrade your database":["Atualize seu banco de dados"],"Upgrade Database":["Atualizar Banco de Dados"],"Please complete your <a href=\"%s\">Redirection setup</a> to activate the plugin.":["Complete sua <a href=\"%s\">configuração do Redirection</a> para ativar este plugin."],"Your database does not need updating to %s.":["Seu banco de dados não requer atualização para %s."],"Failed to perform query \"%s\"":["Falha ao realizar a consulta \"%s\""],"Table \"%s\" is missing":["A tabela \"%s\" não foi encontrada"],"Create basic data":["Criar dados básicos"],"Install Redirection tables":["Instalar tabelas do Redirection"],"Site and home URL are inconsistent. Please correct from your Settings > General page: %1$1s is not %2$2s":["URL do site e do WordPress são inconsistentes. Corrija na página Configurações > Geral: %1$1s não é %2$2s"],"Please do not try and redirect all your 404s - this is not a good thing to do.":["Não tente redirecionar todos os seus 404s - isso não é uma coisa boa."],"Only the 404 page type is currently supported.":["Somente o tipo de página 404 é suportado atualmente."],"Page Type":["Tipo de página"],"Enter IP addresses (one per line)":["Digite endereços IP (um por linha)"],"Describe the purpose of this redirect (optional)":["Descreva o propósito deste redirecionamento (opcional)"],"418 - I'm a teapot":["418 - Sou uma chaleira"],"403 - Forbidden":["403 - Proibido"],"400 - Bad Request":["400 - Solicitação inválida"],"304 - Not Modified":["304 - Não modificado"],"303 - See Other":["303 - Veja outro"],"Do nothing (ignore)":["Fazer nada (ignorar)"],"Target URL when not matched (empty to ignore)":["URL de destino se não houver correspondência (em branco para ignorar)"],"Target URL when matched (empty to ignore)":["URL de destino se houver correspondência (em branco para ignorar)"],"Show All":["Mostrar todos"],"Delete all logs for these entries":["Excluir todos os registros para estas entradas"],"Delete all logs for this entry":["Excluir todos os registros para esta entrada"],"Delete Log Entries":["Excluir entradas no registro"],"Group by IP":["Agrupar por IP"],"Group by URL":["Agrupar por URL"],"No grouping":["Não agrupar"],"Ignore URL":["Ignorar URL"],"Block IP":["Bloquear IP"],"Redirect All":["Redirecionar todos"],"Count":["Número"],"URL and WordPress page type":["URL e tipo de página do WordPress"],"URL and IP":["URL e IP"],"Problem":["Problema"],"Good":["Bom"],"Check":["Verificar"],"Check Redirect":["Verificar redirecionamento"],"Check redirect for: {{code}}%s{{/code}}":["Verifique o redirecionamento de: {{code}}%s{{/code}}"],"What does this mean?":["O que isto significa?"],"Not using Redirection":["Sem usar o Redirection"],"Using Redirection":["Usando o Redirection"],"Found":["Encontrado"],"{{code}}%(status)d{{/code}} to {{code}}%(url)s{{/code}}":["{{code}}%(status)d{{/code}} para {{code}}%(url)s{{/code}}"],"Expected":["Esperado"],"Error":["Erro"],"Enter full URL, including http:// or https://":["Digite o URL inteiro, incluindo http:// ou https://"],"Sometimes your browser can cache a URL, making it hard to know if it's working as expected. Use this to check a URL to see how it is really redirecting.":["O seu navegador pode fazer cache de URL, o que dificulta saber se um redirecionamento está funcionando como deveria. Use isto para verificar um URL e ver como ele está realmente sendo redirecionado."],"Redirect Tester":["Teste de redirecionamento"],"Target":["Destino"],"URL is not being redirected with Redirection":["O URL não está sendo redirecionado com o Redirection"],"URL is being redirected with Redirection":["O URL está sendo redirecionado com o Redirection"],"Unable to load details":["Não foi possível carregar os detalhes"],"Enter server URL to match against":["Digite o URL do servidor para correspondência"],"Server":["Servidor"],"Enter role or capability value":["Digite a função ou capacidade"],"Role":["Função"],"Match against this browser referrer text":["Texto do referenciador do navegador para correspondênica"],"Match against this browser user agent":["Usuário de agente do navegador para correspondência"],"The relative URL you want to redirect from":["O URL relativo que você quer redirecionar"],"(beta)":["(beta)"],"Force HTTPS":["Forçar HTTPS"],"GDPR / Privacy information":["GDPR / Informações sobre privacidade (em inglês)"],"Add New":["Adicionar novo"],"URL and role/capability":["URL e função/capacidade"],"URL and server":["URL e servidor"],"Site and home protocol":["Protocolo do endereço do WordPress e do site"],"Site and home are consistent":["O endereço do WordPress e do site são consistentes"],"Note it is your responsibility to pass HTTP headers to PHP. Please contact your hosting provider for support about this.":["É sua a responsabilidade de passar cabeçalhos HTTP ao PHP. Contate o suporte de seu provedor de hospedagem e pergunte como fazê-lo."],"Accept Language":["Aceitar Idioma"],"Header value":["Valor do cabeçalho"],"Header name":["Nome cabeçalho"],"HTTP Header":["Cabeçalho HTTP"],"WordPress filter name":["Nome do filtro WordPress"],"Filter Name":["Nome do filtro"],"Cookie value":["Valor do cookie"],"Cookie name":["Nome do cookie"],"Cookie":["Cookie"],"clearing your cache.":["limpando seu cache."],"If you are using a caching system such as Cloudflare then please read this: ":["Se você estiver usando um sistema de cache como o Cloudflare, então leia isto: "],"URL and HTTP header":["URL e cabeçalho HTTP"],"URL and custom filter":["URL e filtro personalizado"],"URL and cookie":["URL e cookie"],"404 deleted":["404 excluído"],"REST API":["API REST"],"How Redirection uses the REST API - don't change unless necessary":["Como o Redirection usa a API REST. Não altere a menos que seja necessário"],"Take a look at the {{link}}plugin status{{/link}}. It may be able to identify and \"magic fix\" the problem.":["Dê uma olhada em {{link}}status do plugin{{/link}}. Ali talvez consiga identificar e fazer a \"Correção mágica\" do problema."],"{{link}}Caching software{{/link}}, in particular Cloudflare, can cache the wrong thing. Try clearing all your caches.":["{{link}}Programas de cache{{/link}}, em particular o Cloudflare, podem fazer o cache da coisa errada. Tente liberar seus caches."],"{{link}}Please temporarily disable other plugins!{{/link}} This fixes so many problems.":["{{link}}Desative temporariamente outros plugins!{{/link}} Isso corrige muitos problemas."],"Please see the <a href=\"https://redirection.me/support/problems/\">list of common problems</a>.":["Consulte a <a href=\"https://redirection.me/support/problems/\">lista de problemas comuns (em inglês)</a>."],"Unable to load Redirection ☹️":["Não foi possível carregar o Redirection ☹️"],"WordPress REST API":["A API REST do WordPress"],"Your WordPress REST API has been disabled. You will need to enable it for Redirection to continue working":["A API REST do WordPress foi desativada. É preciso ativá-la para que o Redirection continue funcionando."],"https://johngodley.com":["https://johngodley.com"],"Useragent Error":["Erro de agente de usuário"],"Unknown Useragent":["Agente de usuário desconhecido"],"Device":["Dispositivo"],"Operating System":["Sistema operacional"],"Browser":["Navegador"],"Engine":["Motor"],"Useragent":["Agente de usuário"],"Agent":["Agente"],"No IP logging":["Não registrar IP"],"Full IP logging":["Registrar IP completo"],"Anonymize IP (mask last part)":["Tornar IP anônimo (mascarar a última parte)"],"Monitor changes to %(type)s":["Monitorar alterações em %(type)s"],"IP Logging":["Registro de IP"],"(select IP logging level)":["(selecione o nível de registro de IP)"],"Geo Info":["Informações geográficas"],"Agent Info":["Informação sobre o agente"],"Filter by IP":["Filtrar por IP"],"Referrer / User Agent":["Referenciador / Agente de usuário"],"Geo IP Error":["Erro IP Geo"],"Something went wrong obtaining this information":["Algo deu errado ao obter essa informação"],"This is an IP from a private network. This means it is located inside a home or business network and no more information can be displayed.":["Este é um IP de uma rede privada. Isso significa que ele está localizado dentro de uma rede residencial ou comercial e nenhuma outra informação pode ser exibida."],"No details are known for this address.":["Nenhum detalhe é conhecido para este endereço."],"Geo IP":["IP Geo"],"City":["Cidade"],"Area":["Região"],"Timezone":["Fuso horário"],"Geo Location":["Coordenadas"],"Powered by {{link}}redirect.li{{/link}}":["Fornecido por {{link}}redirect.li{{/link}}"],"Trash":["Lixeira"],"Please note that Redirection requires the WordPress REST API to be enabled. If you have disabled this then you won't be able to use Redirection":["O Redirection requer a API REST do WordPress para ser ativado. Se você a desativou, não vai conseguir usar o Redirection"],"You can find full documentation about using Redirection on the <a href=\"%s\" target=\"_blank\">redirection.me</a> support site.":["A documentação completa (em inglês) sobre como usar o Redirection se encontra no site <a href=\"%s\" target=\"_blank\">redirection.me</a>."],"https://redirection.me/":["https://redirection.me/"],"Full documentation for Redirection can be found at {{site}}https://redirection.me{{/site}}. If you have a problem please check the {{faq}}FAQ{{/faq}} first.":["A documentação completa do Redirection encontra-se (em inglês) em {{site}}https://redirection.me{{/site}}. Se tiver algum problema, consulte primeiro as {{faq}}Perguntas frequentes{{/faq}}."],"If you want to report a bug please read the {{report}}Reporting Bugs{{/report}} guide.":["Se quiser comunicar um erro, leia o guia {{report}}Comunicando erros (em inglês){{/report}}."],"If you want to submit information that you don't want in a public repository then send it directly via {{email}}email{{/email}} - include as much information as you can!":["Se quiser enviar informações que não possam ser tornadas públicas, então remeta-as diretamente (em inglês) por {{email}}e-mail{{/email}}. Inclua o máximo de informação que puder!"],"Never cache":["Nunca fazer cache"],"An hour":["Uma hora"],"Redirect Cache":["Cache dos redirecionamentos"],"How long to cache redirected 301 URLs (via \"Expires\" HTTP header)":["O tempo que deve ter o cache dos URLs redirecionados com 301 (via \"Expires\" no cabeçalho HTTP)"],"Are you sure you want to import from %s?":["Tem certeza de que deseja importar de %s?"],"Plugin Importers":["Importar de plugins"],"The following redirect plugins were detected on your site and can be imported from.":["Os seguintes plugins de redirecionamento foram detectados em seu site e se pode importar deles."],"total = ":["total = "],"Import from %s":["Importar de %s"],"Redirection requires WordPress v%1$1s, you are using v%2$2s - please update your WordPress":["O Redirection requer o WordPress v%1$1s, mas você está usando a versão v%2$2s. Atualize o WordPress"],"Default WordPress \"old slugs\"":["Redirecionamentos de \"slugs anteriores\" do WordPress"],"Create associated redirect (added to end of URL)":["Criar redirecionamento atrelado (adicionado ao fim do URL)"],"<code>Redirectioni10n</code> is not defined. This usually means another plugin is blocking Redirection from loading. Please disable all plugins and try again.":["O <code>Redirectioni10n</code> não está definido. Isso geralmente significa que outro plugin está impedindo o Redirection de carregar. Desative todos os plugins e tente novamente."],"If the magic button doesn't work then you should read the error and see if you can fix it manually, otherwise follow the 'Need help' section below.":["Se o botão Correção mágica não funcionar, você deve ler o erro e verificar se consegue corrigi-lo manualmente. Caso contrário, siga a seção \"Preciso de ajuda\" abaixo."],"⚡️ Magic fix ⚡️":["⚡️ Correção mágica ⚡️"],"Plugin Status":["Status do plugin"],"Custom":["Personalizado"],"Mobile":["Móvel"],"Feed Readers":["Leitores de feed"],"Libraries":["Bibliotecas"],"URL Monitor Changes":["Alterações do monitoramento de URLs"],"Save changes to this group":["Salvar alterações neste grupo"],"For example \"/amp\"":["Por exemplo, \"/amp\""],"URL Monitor":["Monitoramento de URLs"],"Delete 404s":["Excluir 404s"],"Delete all from IP %s":["Excluir registros do IP %s"],"Delete all matching \"%s\"":["Excluir tudo que corresponder a \"%s\""],"Your server has rejected the request for being too big. You will need to change it to continue.":["Seu servidor rejeitou a solicitação por ela ser muito grande. Você precisará alterá-la para continuar."],"Also check if your browser is able to load <code>redirection.js</code>:":["Além disso, verifique se o seu navegador é capaz de carregar <code>redirection.js</code>:"],"If you are using a page caching plugin or service (CloudFlare, OVH, etc) then you can also try clearing that cache.":["Se você estiver usando um plugin ou serviço de cache de página (CloudFlare, OVH, etc), então você também poderá tentar limpar esse cache."],"Unable to load Redirection":["Não foi possível carregar o Redirection"],"Unable to create group":["Não foi possível criar grupo"],"Post monitor group is valid":["O grupo do monitoramento de posts é válido"],"Post monitor group is invalid":["O grupo de monitoramento de post é inválido"],"Post monitor group":["Grupo do monitoramento de posts"],"All redirects have a valid group":["Todos os redirecionamentos têm um grupo válido"],"Redirects with invalid groups detected":["Redirecionamentos com grupos inválidos detectados"],"Valid redirect group":["Grupo de redirecionamento válido"],"Valid groups detected":["Grupos válidos detectados"],"No valid groups, so you will not be able to create any redirects":["Nenhum grupo válido. Portanto, você não poderá criar redirecionamentos"],"Valid groups":["Grupos válidos"],"Database tables":["Tabelas do banco de dados"],"The following tables are missing:":["As seguintes tabelas estão faltando:"],"All tables present":["Todas as tabelas presentes"],"Cached Redirection detected":["O Redirection foi detectado no cache"],"Please clear your browser cache and reload this page.":["Limpe o cache do seu navegador e recarregue esta página."],"WordPress did not return a response. This could mean an error occurred or that the request was blocked. Please check your server error_log.":["O WordPress não retornou uma resposta. Isso pode significar que ocorreu um erro ou que a solicitação foi bloqueada. Confira o error_log de seu servidor."],"If you think Redirection is at fault then create an issue.":["Se você acha que o erro é do Redirection, abra um chamado."],"This may be caused by another plugin - look at your browser's error console for more details.":["Isso pode ser causado por outro plugin - veja o console de erros do seu navegador para mais detalhes."],"Loading, please wait...":["Carregando, aguarde..."],"{{strong}}CSV file format{{/strong}}: {{code}}source URL, target URL{{/code}} - and can be optionally followed with {{code}}regex, http code{{/code}} ({{code}}regex{{/code}} - 0 for no, 1 for yes).":["{{strong}}Formato do arquivo CSV{{/strong}}: {{code}}URL de origem, URL de destino{{/code}} - e pode ser opcionalmente seguido com {{code}}regex, código http{{/code}} ({{code}}regex{{/code}} - 0 para não, 1 para sim)."],"Redirection is not working. Try clearing your browser cache and reloading this page.":["O Redirection não está funcionando. Tente limpar o cache do navegador e recarregar esta página."],"If that doesn't help, open your browser's error console and create a {{link}}new issue{{/link}} with the details.":["Se isso não ajudar, abra o console de erros de seu navegador e crie um {{link}}novo chamado{{/link}} com os detalhes."],"Create Issue":["Criar chamado"],"Email":["E-mail"],"Need help?":["Precisa de ajuda?"],"Please note that any support is provide on as-time-is-available basis and is not guaranteed. I do not provide paid support.":["Qualquer suporte somente é oferecido à medida que haja tempo disponível, e não é garantido. Não ofereço suporte pago."],"Pos":["Pos"],"410 - Gone":["410 - Não existe mais"],"Position":["Posição"],"Used to auto-generate a URL if no URL is given. Use the special tags {{code}}$dec${{/code}} or {{code}}$hex${{/code}} to insert a unique ID instead":["Usado na auto-geração do URL se nenhum URL for dado. Use as tags especiais {{code}}$dec${{/code}} ou {{code}}$hex${{/code}} para em vez disso inserir um ID único"],"Apache Module":["Módulo Apache"],"Enter the full path and filename if you want Redirection to automatically update your {{code}}.htaccess{{/code}}.":["Digite o caminho completo e o nome do arquivo se quiser que o Redirection atualize o {{code}}.htaccess{{/code}}."],"Import to group":["Importar para grupo"],"Import a CSV, .htaccess, or JSON file.":["Importar um arquivo CSV, .htaccess ou JSON."],"Click 'Add File' or drag and drop here.":["Clique 'Adicionar arquivo' ou arraste e solte aqui."],"Add File":["Adicionar arquivo"],"File selected":["Arquivo selecionado"],"Importing":["Importando"],"Finished importing":["Importação concluída"],"Total redirects imported:":["Total de redirecionamentos importados:"],"Double-check the file is the correct format!":["Verifique novamente se o arquivo é o formato correto!"],"OK":["OK"],"Close":["Fechar"],"Export":["Exportar"],"Everything":["Tudo"],"WordPress redirects":["Redirecionamentos WordPress"],"Apache redirects":["Redirecionamentos Apache"],"Nginx redirects":["Redirecionamentos Nginx"],"CSV":["CSV"],"Apache .htaccess":[".htaccess do Apache"],"Nginx rewrite rules":["Regras de reescrita do Nginx"],"View":["Ver"],"Import/Export":["Importar/Exportar"],"Logs":["Registros"],"404 errors":["Erro 404"],"Please mention {{code}}%s{{/code}}, and explain what you were doing at the time":["Mencione {{code}}%s{{/code}} e explique o que estava fazendo no momento"],"I'd like to support some more.":["Eu gostaria de ajudar mais um pouco."],"Support 💰":["Doação 💰"],"Redirection saved":["Redirecionamento salvo"],"Log deleted":["Registro excluído"],"Settings saved":["Configurações salvas"],"Group saved":["Grupo salvo"],"Are you sure you want to delete this item?":["Tem certeza de que deseja excluir este item?","Tem certeza de que deseja excluir estes item?"],"pass":["manter url"],"All groups":["Todos os grupos"],"301 - Moved Permanently":["301 - Mudou permanentemente"],"302 - Found":["302 - Encontrado"],"307 - Temporary Redirect":["307 - Redirecionamento temporário"],"308 - Permanent Redirect":["308 - Redirecionamento permanente"],"401 - Unauthorized":["401 - Não autorizado"],"404 - Not Found":["404 - Não encontrado"],"Title":["Título"],"When matched":["Quando corresponder"],"with HTTP code":["com código HTTP"],"Show advanced options":["Exibir opções avançadas"],"Matched Target":["Destino se correspondido"],"Unmatched Target":["Destino se não correspondido"],"Saving...":["Salvando..."],"View notice":["Veja o aviso"],"Invalid source URL":["URL de origem inválido"],"Invalid redirect action":["Ação de redirecionamento inválida"],"Invalid redirect matcher":["Critério de redirecionamento inválido"],"Unable to add new redirect":["Não foi possível criar novo redirecionamento"],"Something went wrong 🙁":["Algo deu errado 🙁"],"Log entries (%d max)":["Entradas do registro (máx %d)"],"Search by IP":["Pesquisar por IP"],"Select bulk action":["Selecionar ações em massa"],"Bulk Actions":["Ações em massa"],"Apply":["Aplicar"],"First page":["Primeira página"],"Prev page":["Página anterior"],"Current Page":["Página atual"],"of %(page)s":["de %(page)s"],"Next page":["Próxima página"],"Last page":["Última página"],"%s item":["%s item","%s itens"],"Select All":["Selecionar tudo"],"Sorry, something went wrong loading the data - please try again":["Desculpe, mas algo deu errado ao carregar os dados - tente novamente"],"No results":["Nenhum resultado"],"Delete the logs - are you sure?":["Excluir os registros - Você tem certeza?"],"Once deleted your current logs will no longer be available. You can set a delete schedule from the Redirection options if you want to do this automatically.":["Uma vez excluídos, seus registros atuais não estarão mais disponíveis. Você pode agendar uma exclusão na opções do plugin Redirection, se quiser fazê-la automaticamente."],"Yes! Delete the logs":["Sim! Exclua os registros"],"No! Don't delete the logs":["Não! Não exclua os registros"],"Thanks for subscribing! {{a}}Click here{{/a}} if you need to return to your subscription.":["Obrigado pela assinatura! {{a}}Clique aqui{{/a}} se você precisar retornar à sua assinatura."],"Newsletter":["Boletim"],"Want to keep up to date with changes to Redirection?":["Quer ficar a par de mudanças no Redirection?"],"Sign up for the tiny Redirection newsletter - a low volume newsletter about new features and changes to the plugin. Ideal if you want to test beta changes before release.":["Inscreva-se no boletim do Redirection. O boletim tem baixo volume de mensagens e informa sobre novos recursos e alterações no plugin. Ideal se quiser testar alterações beta antes do lançamento."],"Your email address:":["Seu endereço de e-mail:"],"You've supported this plugin - thank you!":["Você apoiou este plugin - obrigado!"],"You get useful software and I get to carry on making it better.":["Você obtém softwares úteis e eu continuo fazendo isso melhor."],"Forever":["Para sempre"],"Delete the plugin - are you sure?":["Excluir o plugin - Você tem certeza?"],"Deleting the plugin will remove all your redirections, logs, and settings. Do this if you want to remove the plugin for good, or if you want to reset the plugin.":["A exclusão do plugin irá remover todos os seus redirecionamentos, logs e configurações. Faça isso se desejar remover o plugin para sempre, ou se quiser reiniciar o plugin."],"Once deleted your redirections will stop working. If they appear to continue working then please clear your browser cache.":["Uma vez excluído, os seus redirecionamentos deixarão de funcionar. Se eles parecerem continuar funcionando, limpe o cache do seu navegador."],"Yes! Delete the plugin":["Sim! Exclua o plugin"],"No! Don't delete the plugin":["Não! Não exclua o plugin"],"John Godley":["John Godley"],"Manage all your 301 redirects and monitor 404 errors":["Gerencie todos os seus redirecionamentos 301 e monitore erros 404"],"Redirection is free to use - life is wonderful and lovely! It has required a great deal of time and effort to develop and you can help support this development by {{strong}}making a small donation{{/strong}}.":["O Redirection é livre para usar - a vida é maravilhosa e adorável! Foi necessário muito tempo e esforço para desenvolver e você pode ajudar a apoiar esse desenvolvimento {{strong}}fazendo uma pequena doação{{/strong}}."],"Redirection Support":["Ajuda do Redirection"],"Support":["Ajuda"],"404s":["404s"],"Log":["Registro"],"Selecting this option will delete all redirections, all logs, and any options associated with the Redirection plugin. Make sure this is what you want to do.":["Selecionar esta opção irá remover todos os redirecionamentos, logs e todas as opções associadas ao plugin Redirection. Certifique-se de que é isso mesmo que deseja fazer."],"Delete Redirection":["Excluir o Redirection"],"Upload":["Carregar"],"Import":["Importar"],"Update":["Atualizar"],"Auto-generate URL":["Gerar automaticamente o URL"],"A unique token allowing feed readers access to Redirection log RSS (leave blank to auto-generate)":["Um token exclusivo que permite a leitores de feed o acesso ao RSS do registro do Redirection (deixe em branco para gerar automaticamente)"],"RSS Token":["Token RSS"],"404 Logs":["Registros de 404"],"(time to keep logs for)":["(tempo para manter os registros)"],"Redirect Logs":["Registros de redirecionamento"],"I'm a nice person and I have helped support the author of this plugin":["Eu sou uma pessoa legal e ajudei a apoiar o autor deste plugin"],"Plugin Support":["Suporte do plugin"],"Options":["Opções"],"Two months":["Dois meses"],"A month":["Um mês"],"A week":["Uma semana"],"A day":["Um dia"],"No logs":["Não registrar"],"Delete All":["Apagar Tudo"],"Use groups to organise your redirects. Groups are assigned to a module, which affects how the redirects in that group work. If you are unsure then stick to the WordPress module.":["Use grupos para organizar os seus redirecionamentos. Os grupos são associados a um módulo, e o módulo afeta como os redirecionamentos do grupo funcionam. Na dúvida, use o módulo WordPress."],"Add Group":["Adicionar grupo"],"Search":["Pesquisar"],"Groups":["Grupos"],"Save":["Salvar"],"Group":["Grupo"],"Match":["Corresponder"],"Add new redirection":["Adicionar novo redirecionamento"],"Cancel":["Cancelar"],"Download":["Baixar"],"Redirection":["Redirection"],"Settings":["Configurações"],"Error (404)":["Erro (404)"],"Pass-through":["Manter URL de origem"],"Redirect to random post":["Redirecionar para um post aleatório"],"Redirect to URL":["Redirecionar para URL"],"Invalid group when creating redirect":["Grupo inválido ao criar o redirecionamento"],"IP":["IP"],"Source URL":["URL de origem"],"Date":["Data"],"Add Redirect":["Adicionar redirecionamento"],"All modules":["Todos os módulos"],"View Redirects":["Ver redirecionamentos"],"Module":["Módulo"],"Redirects":["Redirecionamentos"],"Name":["Nome"],"Filter":["Filtrar"],"Reset hits":["Redefinir acessos"],"Enable":["Ativar"],"Disable":["Desativar"],"Delete":["Excluir"],"Edit":["Editar"],"Last Access":["Último Acesso"],"Hits":["Acessos"],"URL":["URL"],"Type":["Tipo"],"Modified Posts":["Posts modificados"],"Redirections":["Redirecionamentos"],"User Agent":["Agente de usuário"],"URL and user agent":["URL e agente de usuário"],"Target URL":["URL de destino"],"URL only":["URL somente"],"Regex":["Regex"],"Referrer":["Referenciador"],"URL and referrer":["URL e referenciador"],"Logged Out":["Desconectado"],"Logged In":["Conectado"],"URL and login status":["URL e status de login"]}
locale/redirection-de_DE.po CHANGED
@@ -722,11 +722,11 @@ msgstr ""
722
  msgid "Count"
723
  msgstr ""
724
 
725
- #: redirection-strings.php:93 matches/page.php:9
726
  msgid "URL and WordPress page type"
727
  msgstr ""
728
 
729
- #: redirection-strings.php:89 matches/ip.php:9
730
  msgid "URL and IP"
731
  msgstr ""
732
 
@@ -850,11 +850,11 @@ msgstr "DSGVO / Datenschutzinformationen"
850
  msgid "Add New"
851
  msgstr ""
852
 
853
- #: redirection-strings.php:85 matches/user-role.php:9
854
  msgid "URL and role/capability"
855
  msgstr ""
856
 
857
- #: redirection-strings.php:90 matches/server.php:9
858
  msgid "URL and server"
859
  msgstr "URL und Server"
860
 
@@ -914,15 +914,15 @@ msgstr ""
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Wenn du ein Caching-System, wie etwa Cloudflare, verwendest, lies bitte das Folgende:"
916
 
917
- #: redirection-strings.php:91 matches/http-header.php:11
918
  msgid "URL and HTTP header"
919
  msgstr "URL und HTTP-Header"
920
 
921
- #: redirection-strings.php:92 matches/custom-filter.php:9
922
  msgid "URL and custom filter"
923
  msgstr "URL und benutzerdefinierter Filter"
924
 
925
- #: redirection-strings.php:88 matches/cookie.php:7
926
  msgid "URL and cookie"
927
  msgstr "URL und Cookie"
928
 
@@ -1988,7 +1988,7 @@ msgstr "Redirections"
1988
  msgid "User Agent"
1989
  msgstr "User Agent"
1990
 
1991
- #: redirection-strings.php:87 matches/user-agent.php:10
1992
  msgid "URL and user agent"
1993
  msgstr "URL und User-Agent"
1994
 
@@ -1996,7 +1996,7 @@ msgstr "URL und User-Agent"
1996
  msgid "Target URL"
1997
  msgstr "Ziel-URL"
1998
 
1999
- #: redirection-strings.php:83 matches/url.php:7
2000
  msgid "URL only"
2001
  msgstr "Nur URL"
2002
 
@@ -2010,7 +2010,7 @@ msgstr "Regex"
2010
  msgid "Referrer"
2011
  msgstr "Vermittler"
2012
 
2013
- #: redirection-strings.php:86 matches/referrer.php:10
2014
  msgid "URL and referrer"
2015
  msgstr "URL und Vermittler"
2016
 
@@ -2022,6 +2022,6 @@ msgstr "Ausgeloggt"
2022
  msgid "Logged In"
2023
  msgstr "Eingeloggt"
2024
 
2025
- #: redirection-strings.php:84 matches/login.php:8
2026
  msgid "URL and login status"
2027
  msgstr "URL- und Loginstatus"
722
  msgid "Count"
723
  msgstr ""
724
 
725
+ #: matches/page.php:9 redirection-strings.php:93
726
  msgid "URL and WordPress page type"
727
  msgstr ""
728
 
729
+ #: matches/ip.php:9 redirection-strings.php:89
730
  msgid "URL and IP"
731
  msgstr ""
732
 
850
  msgid "Add New"
851
  msgstr ""
852
 
853
+ #: matches/user-role.php:9 redirection-strings.php:85
854
  msgid "URL and role/capability"
855
  msgstr ""
856
 
857
+ #: matches/server.php:9 redirection-strings.php:90
858
  msgid "URL and server"
859
  msgstr "URL und Server"
860
 
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Wenn du ein Caching-System, wie etwa Cloudflare, verwendest, lies bitte das Folgende:"
916
 
917
+ #: matches/http-header.php:11 redirection-strings.php:91
918
  msgid "URL and HTTP header"
919
  msgstr "URL und HTTP-Header"
920
 
921
+ #: matches/custom-filter.php:9 redirection-strings.php:92
922
  msgid "URL and custom filter"
923
  msgstr "URL und benutzerdefinierter Filter"
924
 
925
+ #: matches/cookie.php:7 redirection-strings.php:88
926
  msgid "URL and cookie"
927
  msgstr "URL und Cookie"
928
 
1988
  msgid "User Agent"
1989
  msgstr "User Agent"
1990
 
1991
+ #: matches/user-agent.php:10 redirection-strings.php:87
1992
  msgid "URL and user agent"
1993
  msgstr "URL und User-Agent"
1994
 
1996
  msgid "Target URL"
1997
  msgstr "Ziel-URL"
1998
 
1999
+ #: matches/url.php:7 redirection-strings.php:83
2000
  msgid "URL only"
2001
  msgstr "Nur URL"
2002
 
2010
  msgid "Referrer"
2011
  msgstr "Vermittler"
2012
 
2013
+ #: matches/referrer.php:10 redirection-strings.php:86
2014
  msgid "URL and referrer"
2015
  msgstr "URL und Vermittler"
2016
 
2022
  msgid "Logged In"
2023
  msgstr "Eingeloggt"
2024
 
2025
+ #: matches/login.php:8 redirection-strings.php:84
2026
  msgid "URL and login status"
2027
  msgstr "URL- und Loginstatus"
locale/redirection-en_AU.po CHANGED
@@ -722,11 +722,11 @@ msgstr "Redirect All"
722
  msgid "Count"
723
  msgstr "Count"
724
 
725
- #: redirection-strings.php:93 matches/page.php:9
726
  msgid "URL and WordPress page type"
727
  msgstr "URL and WordPress page type"
728
 
729
- #: redirection-strings.php:89 matches/ip.php:9
730
  msgid "URL and IP"
731
  msgstr "URL and IP"
732
 
@@ -850,11 +850,11 @@ msgstr "GDPR / Privacy information"
850
  msgid "Add New"
851
  msgstr "Add New"
852
 
853
- #: redirection-strings.php:85 matches/user-role.php:9
854
  msgid "URL and role/capability"
855
  msgstr "URL and role/capability"
856
 
857
- #: redirection-strings.php:90 matches/server.php:9
858
  msgid "URL and server"
859
  msgstr "URL and server"
860
 
@@ -914,15 +914,15 @@ msgstr "clearing your cache."
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "If you are using a caching system such as Cloudflare then please read this: "
916
 
917
- #: redirection-strings.php:91 matches/http-header.php:11
918
  msgid "URL and HTTP header"
919
  msgstr "URL and HTTP header"
920
 
921
- #: redirection-strings.php:92 matches/custom-filter.php:9
922
  msgid "URL and custom filter"
923
  msgstr "URL and custom filter"
924
 
925
- #: redirection-strings.php:88 matches/cookie.php:7
926
  msgid "URL and cookie"
927
  msgstr "URL and cookie"
928
 
@@ -1988,7 +1988,7 @@ msgstr "Redirections"
1988
  msgid "User Agent"
1989
  msgstr "User Agent"
1990
 
1991
- #: redirection-strings.php:87 matches/user-agent.php:10
1992
  msgid "URL and user agent"
1993
  msgstr "URL and user agent"
1994
 
@@ -1996,7 +1996,7 @@ msgstr "URL and user agent"
1996
  msgid "Target URL"
1997
  msgstr "Target URL"
1998
 
1999
- #: redirection-strings.php:83 matches/url.php:7
2000
  msgid "URL only"
2001
  msgstr "URL only"
2002
 
@@ -2010,7 +2010,7 @@ msgstr "Regex"
2010
  msgid "Referrer"
2011
  msgstr "Referrer"
2012
 
2013
- #: redirection-strings.php:86 matches/referrer.php:10
2014
  msgid "URL and referrer"
2015
  msgstr "URL and referrer"
2016
 
@@ -2022,6 +2022,6 @@ msgstr "Logged Out"
2022
  msgid "Logged In"
2023
  msgstr "Logged In"
2024
 
2025
- #: redirection-strings.php:84 matches/login.php:8
2026
  msgid "URL and login status"
2027
  msgstr "URL and login status"
722
  msgid "Count"
723
  msgstr "Count"
724
 
725
+ #: matches/page.php:9 redirection-strings.php:93
726
  msgid "URL and WordPress page type"
727
  msgstr "URL and WordPress page type"
728
 
729
+ #: matches/ip.php:9 redirection-strings.php:89
730
  msgid "URL and IP"
731
  msgstr "URL and IP"
732
 
850
  msgid "Add New"
851
  msgstr "Add New"
852
 
853
+ #: matches/user-role.php:9 redirection-strings.php:85
854
  msgid "URL and role/capability"
855
  msgstr "URL and role/capability"
856
 
857
+ #: matches/server.php:9 redirection-strings.php:90
858
  msgid "URL and server"
859
  msgstr "URL and server"
860
 
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "If you are using a caching system such as Cloudflare then please read this: "
916
 
917
+ #: matches/http-header.php:11 redirection-strings.php:91
918
  msgid "URL and HTTP header"
919
  msgstr "URL and HTTP header"
920
 
921
+ #: matches/custom-filter.php:9 redirection-strings.php:92
922
  msgid "URL and custom filter"
923
  msgstr "URL and custom filter"
924
 
925
+ #: matches/cookie.php:7 redirection-strings.php:88
926
  msgid "URL and cookie"
927
  msgstr "URL and cookie"
928
 
1988
  msgid "User Agent"
1989
  msgstr "User Agent"
1990
 
1991
+ #: matches/user-agent.php:10 redirection-strings.php:87
1992
  msgid "URL and user agent"
1993
  msgstr "URL and user agent"
1994
 
1996
  msgid "Target URL"
1997
  msgstr "Target URL"
1998
 
1999
+ #: matches/url.php:7 redirection-strings.php:83
2000
  msgid "URL only"
2001
  msgstr "URL only"
2002
 
2010
  msgid "Referrer"
2011
  msgstr "Referrer"
2012
 
2013
+ #: matches/referrer.php:10 redirection-strings.php:86
2014
  msgid "URL and referrer"
2015
  msgstr "URL and referrer"
2016
 
2022
  msgid "Logged In"
2023
  msgstr "Logged In"
2024
 
2025
+ #: matches/login.php:8 redirection-strings.php:84
2026
  msgid "URL and login status"
2027
  msgstr "URL and login status"
locale/redirection-en_CA.po CHANGED
@@ -722,11 +722,11 @@ msgstr "Redirect All"
722
  msgid "Count"
723
  msgstr "Count"
724
 
725
- #: redirection-strings.php:93 matches/page.php:9
726
  msgid "URL and WordPress page type"
727
  msgstr "URL and WordPress page type"
728
 
729
- #: redirection-strings.php:89 matches/ip.php:9
730
  msgid "URL and IP"
731
  msgstr "URL and IP"
732
 
@@ -850,11 +850,11 @@ msgstr "GDPR / Privacy information"
850
  msgid "Add New"
851
  msgstr "Add New"
852
 
853
- #: redirection-strings.php:85 matches/user-role.php:9
854
  msgid "URL and role/capability"
855
  msgstr "URL and role/capability"
856
 
857
- #: redirection-strings.php:90 matches/server.php:9
858
  msgid "URL and server"
859
  msgstr "URL and server"
860
 
@@ -914,15 +914,15 @@ msgstr "clearing your cache."
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "If you are using a caching system such as Cloudflare then please read this: "
916
 
917
- #: redirection-strings.php:91 matches/http-header.php:11
918
  msgid "URL and HTTP header"
919
  msgstr "URL and HTTP header"
920
 
921
- #: redirection-strings.php:92 matches/custom-filter.php:9
922
  msgid "URL and custom filter"
923
  msgstr "URL and custom filter"
924
 
925
- #: redirection-strings.php:88 matches/cookie.php:7
926
  msgid "URL and cookie"
927
  msgstr "URL and cookie"
928
 
@@ -1988,7 +1988,7 @@ msgstr "Redirections"
1988
  msgid "User Agent"
1989
  msgstr "User Agent"
1990
 
1991
- #: redirection-strings.php:87 matches/user-agent.php:10
1992
  msgid "URL and user agent"
1993
  msgstr "URL and user agent"
1994
 
@@ -1996,7 +1996,7 @@ msgstr "URL and user agent"
1996
  msgid "Target URL"
1997
  msgstr "Target URL"
1998
 
1999
- #: redirection-strings.php:83 matches/url.php:7
2000
  msgid "URL only"
2001
  msgstr "URL only"
2002
 
@@ -2010,7 +2010,7 @@ msgstr "Regex"
2010
  msgid "Referrer"
2011
  msgstr "Referrer"
2012
 
2013
- #: redirection-strings.php:86 matches/referrer.php:10
2014
  msgid "URL and referrer"
2015
  msgstr "URL and referrer"
2016
 
@@ -2022,6 +2022,6 @@ msgstr "Logged Out"
2022
  msgid "Logged In"
2023
  msgstr "Logged In"
2024
 
2025
- #: redirection-strings.php:84 matches/login.php:8
2026
  msgid "URL and login status"
2027
  msgstr "URL and login status"
722
  msgid "Count"
723
  msgstr "Count"
724
 
725
+ #: matches/page.php:9 redirection-strings.php:93
726
  msgid "URL and WordPress page type"
727
  msgstr "URL and WordPress page type"
728
 
729
+ #: matches/ip.php:9 redirection-strings.php:89
730
  msgid "URL and IP"
731
  msgstr "URL and IP"
732
 
850
  msgid "Add New"
851
  msgstr "Add New"
852
 
853
+ #: matches/user-role.php:9 redirection-strings.php:85
854
  msgid "URL and role/capability"
855
  msgstr "URL and role/capability"
856
 
857
+ #: matches/server.php:9 redirection-strings.php:90
858
  msgid "URL and server"
859
  msgstr "URL and server"
860
 
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "If you are using a caching system such as Cloudflare then please read this: "
916
 
917
+ #: matches/http-header.php:11 redirection-strings.php:91
918
  msgid "URL and HTTP header"
919
  msgstr "URL and HTTP header"
920
 
921
+ #: matches/custom-filter.php:9 redirection-strings.php:92
922
  msgid "URL and custom filter"
923
  msgstr "URL and custom filter"
924
 
925
+ #: matches/cookie.php:7 redirection-strings.php:88
926
  msgid "URL and cookie"
927
  msgstr "URL and cookie"
928
 
1988
  msgid "User Agent"
1989
  msgstr "User Agent"
1990
 
1991
+ #: matches/user-agent.php:10 redirection-strings.php:87
1992
  msgid "URL and user agent"
1993
  msgstr "URL and user agent"
1994
 
1996
  msgid "Target URL"
1997
  msgstr "Target URL"
1998
 
1999
+ #: matches/url.php:7 redirection-strings.php:83
2000
  msgid "URL only"
2001
  msgstr "URL only"
2002
 
2010
  msgid "Referrer"
2011
  msgstr "Referrer"
2012
 
2013
+ #: matches/referrer.php:10 redirection-strings.php:86
2014
  msgid "URL and referrer"
2015
  msgstr "URL and referrer"
2016
 
2022
  msgid "Logged In"
2023
  msgstr "Logged In"
2024
 
2025
+ #: matches/login.php:8 redirection-strings.php:84
2026
  msgid "URL and login status"
2027
  msgstr "URL and login status"
locale/redirection-en_GB.po CHANGED
@@ -722,11 +722,11 @@ msgstr "Redirect All"
722
  msgid "Count"
723
  msgstr "Count"
724
 
725
- #: redirection-strings.php:93 matches/page.php:9
726
  msgid "URL and WordPress page type"
727
  msgstr "URL and WordPress page type"
728
 
729
- #: redirection-strings.php:89 matches/ip.php:9
730
  msgid "URL and IP"
731
  msgstr "URL and IP"
732
 
@@ -850,11 +850,11 @@ msgstr "GDPR / Privacy information"
850
  msgid "Add New"
851
  msgstr "Add New"
852
 
853
- #: redirection-strings.php:85 matches/user-role.php:9
854
  msgid "URL and role/capability"
855
  msgstr "URL and role/capability"
856
 
857
- #: redirection-strings.php:90 matches/server.php:9
858
  msgid "URL and server"
859
  msgstr "URL and server"
860
 
@@ -914,15 +914,15 @@ msgstr "clearing your cache."
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "If you are using a caching system such as Cloudflare then please read this: "
916
 
917
- #: redirection-strings.php:91 matches/http-header.php:11
918
  msgid "URL and HTTP header"
919
  msgstr "URL and HTTP header"
920
 
921
- #: redirection-strings.php:92 matches/custom-filter.php:9
922
  msgid "URL and custom filter"
923
  msgstr "URL and custom filter"
924
 
925
- #: redirection-strings.php:88 matches/cookie.php:7
926
  msgid "URL and cookie"
927
  msgstr "URL and cookie"
928
 
@@ -1988,7 +1988,7 @@ msgstr "Redirections"
1988
  msgid "User Agent"
1989
  msgstr "User Agent"
1990
 
1991
- #: redirection-strings.php:87 matches/user-agent.php:10
1992
  msgid "URL and user agent"
1993
  msgstr "URL and user agent"
1994
 
@@ -1996,7 +1996,7 @@ msgstr "URL and user agent"
1996
  msgid "Target URL"
1997
  msgstr "Target URL"
1998
 
1999
- #: redirection-strings.php:83 matches/url.php:7
2000
  msgid "URL only"
2001
  msgstr "URL only"
2002
 
@@ -2010,7 +2010,7 @@ msgstr "Regex"
2010
  msgid "Referrer"
2011
  msgstr "Referrer"
2012
 
2013
- #: redirection-strings.php:86 matches/referrer.php:10
2014
  msgid "URL and referrer"
2015
  msgstr "URL and referrer"
2016
 
@@ -2022,6 +2022,6 @@ msgstr "Logged Out"
2022
  msgid "Logged In"
2023
  msgstr "Logged In"
2024
 
2025
- #: redirection-strings.php:84 matches/login.php:8
2026
  msgid "URL and login status"
2027
  msgstr "URL and login status"
722
  msgid "Count"
723
  msgstr "Count"
724
 
725
+ #: matches/page.php:9 redirection-strings.php:93
726
  msgid "URL and WordPress page type"
727
  msgstr "URL and WordPress page type"
728
 
729
+ #: matches/ip.php:9 redirection-strings.php:89
730
  msgid "URL and IP"
731
  msgstr "URL and IP"
732
 
850
  msgid "Add New"
851
  msgstr "Add New"
852
 
853
+ #: matches/user-role.php:9 redirection-strings.php:85
854
  msgid "URL and role/capability"
855
  msgstr "URL and role/capability"
856
 
857
+ #: matches/server.php:9 redirection-strings.php:90
858
  msgid "URL and server"
859
  msgstr "URL and server"
860
 
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "If you are using a caching system such as Cloudflare then please read this: "
916
 
917
+ #: matches/http-header.php:11 redirection-strings.php:91
918
  msgid "URL and HTTP header"
919
  msgstr "URL and HTTP header"
920
 
921
+ #: matches/custom-filter.php:9 redirection-strings.php:92
922
  msgid "URL and custom filter"
923
  msgstr "URL and custom filter"
924
 
925
+ #: matches/cookie.php:7 redirection-strings.php:88
926
  msgid "URL and cookie"
927
  msgstr "URL and cookie"
928
 
1988
  msgid "User Agent"
1989
  msgstr "User Agent"
1990
 
1991
+ #: matches/user-agent.php:10 redirection-strings.php:87
1992
  msgid "URL and user agent"
1993
  msgstr "URL and user agent"
1994
 
1996
  msgid "Target URL"
1997
  msgstr "Target URL"
1998
 
1999
+ #: matches/url.php:7 redirection-strings.php:83
2000
  msgid "URL only"
2001
  msgstr "URL only"
2002
 
2010
  msgid "Referrer"
2011
  msgstr "Referrer"
2012
 
2013
+ #: matches/referrer.php:10 redirection-strings.php:86
2014
  msgid "URL and referrer"
2015
  msgstr "URL and referrer"
2016
 
2022
  msgid "Logged In"
2023
  msgstr "Logged In"
2024
 
2025
+ #: matches/login.php:8 redirection-strings.php:84
2026
  msgid "URL and login status"
2027
  msgstr "URL and login status"
locale/redirection-en_NZ.po CHANGED
@@ -722,11 +722,11 @@ msgstr "Redirect All"
722
  msgid "Count"
723
  msgstr "Count"
724
 
725
- #: redirection-strings.php:93 matches/page.php:9
726
  msgid "URL and WordPress page type"
727
  msgstr "URL and WordPress page type"
728
 
729
- #: redirection-strings.php:89 matches/ip.php:9
730
  msgid "URL and IP"
731
  msgstr "URL and IP"
732
 
@@ -850,11 +850,11 @@ msgstr "GDPR / Privacy information"
850
  msgid "Add New"
851
  msgstr "Add New"
852
 
853
- #: redirection-strings.php:85 matches/user-role.php:9
854
  msgid "URL and role/capability"
855
  msgstr "URL and role/capability"
856
 
857
- #: redirection-strings.php:90 matches/server.php:9
858
  msgid "URL and server"
859
  msgstr "URL and server"
860
 
@@ -914,15 +914,15 @@ msgstr "clearing your cache."
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "If you are using a caching system such as Cloudflare then please read this: "
916
 
917
- #: redirection-strings.php:91 matches/http-header.php:11
918
  msgid "URL and HTTP header"
919
  msgstr "URL and HTTP header"
920
 
921
- #: redirection-strings.php:92 matches/custom-filter.php:9
922
  msgid "URL and custom filter"
923
  msgstr "URL and custom filter"
924
 
925
- #: redirection-strings.php:88 matches/cookie.php:7
926
  msgid "URL and cookie"
927
  msgstr "URL and cookie"
928
 
@@ -1988,7 +1988,7 @@ msgstr "Redirections"
1988
  msgid "User Agent"
1989
  msgstr "User Agent"
1990
 
1991
- #: redirection-strings.php:87 matches/user-agent.php:10
1992
  msgid "URL and user agent"
1993
  msgstr "URL and user agent"
1994
 
@@ -1996,7 +1996,7 @@ msgstr "URL and user agent"
1996
  msgid "Target URL"
1997
  msgstr "Target URL"
1998
 
1999
- #: redirection-strings.php:83 matches/url.php:7
2000
  msgid "URL only"
2001
  msgstr "URL only"
2002
 
@@ -2010,7 +2010,7 @@ msgstr "Regex"
2010
  msgid "Referrer"
2011
  msgstr "Referrer"
2012
 
2013
- #: redirection-strings.php:86 matches/referrer.php:10
2014
  msgid "URL and referrer"
2015
  msgstr "URL and referrer"
2016
 
@@ -2022,6 +2022,6 @@ msgstr "Logged Out"
2022
  msgid "Logged In"
2023
  msgstr "Logged In"
2024
 
2025
- #: redirection-strings.php:84 matches/login.php:8
2026
  msgid "URL and login status"
2027
  msgstr "URL and login status"
722
  msgid "Count"
723
  msgstr "Count"
724
 
725
+ #: matches/page.php:9 redirection-strings.php:93
726
  msgid "URL and WordPress page type"
727
  msgstr "URL and WordPress page type"
728
 
729
+ #: matches/ip.php:9 redirection-strings.php:89
730
  msgid "URL and IP"
731
  msgstr "URL and IP"
732
 
850
  msgid "Add New"
851
  msgstr "Add New"
852
 
853
+ #: matches/user-role.php:9 redirection-strings.php:85
854
  msgid "URL and role/capability"
855
  msgstr "URL and role/capability"
856
 
857
+ #: matches/server.php:9 redirection-strings.php:90
858
  msgid "URL and server"
859
  msgstr "URL and server"
860
 
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "If you are using a caching system such as Cloudflare then please read this: "
916
 
917
+ #: matches/http-header.php:11 redirection-strings.php:91
918
  msgid "URL and HTTP header"
919
  msgstr "URL and HTTP header"
920
 
921
+ #: matches/custom-filter.php:9 redirection-strings.php:92
922
  msgid "URL and custom filter"
923
  msgstr "URL and custom filter"
924
 
925
+ #: matches/cookie.php:7 redirection-strings.php:88
926
  msgid "URL and cookie"
927
  msgstr "URL and cookie"
928
 
1988
  msgid "User Agent"
1989
  msgstr "User Agent"
1990
 
1991
+ #: matches/user-agent.php:10 redirection-strings.php:87
1992
  msgid "URL and user agent"
1993
  msgstr "URL and user agent"
1994
 
1996
  msgid "Target URL"
1997
  msgstr "Target URL"
1998
 
1999
+ #: matches/url.php:7 redirection-strings.php:83
2000
  msgid "URL only"
2001
  msgstr "URL only"
2002
 
2010
  msgid "Referrer"
2011
  msgstr "Referrer"
2012
 
2013
+ #: matches/referrer.php:10 redirection-strings.php:86
2014
  msgid "URL and referrer"
2015
  msgstr "URL and referrer"
2016
 
2022
  msgid "Logged In"
2023
  msgstr "Logged In"
2024
 
2025
+ #: matches/login.php:8 redirection-strings.php:84
2026
  msgid "URL and login status"
2027
  msgstr "URL and login status"
locale/redirection-es_ES.po CHANGED
@@ -722,11 +722,11 @@ msgstr "Redirigir todo"
722
  msgid "Count"
723
  msgstr "Contador"
724
 
725
- #: redirection-strings.php:93 matches/page.php:9
726
  msgid "URL and WordPress page type"
727
  msgstr "URL y tipo de página de WordPress"
728
 
729
- #: redirection-strings.php:89 matches/ip.php:9
730
  msgid "URL and IP"
731
  msgstr "URL e IP"
732
 
@@ -850,11 +850,11 @@ msgstr "Información de RGPD / Provacidad"
850
  msgid "Add New"
851
  msgstr "Añadir nueva"
852
 
853
- #: redirection-strings.php:85 matches/user-role.php:9
854
  msgid "URL and role/capability"
855
  msgstr "URL y perfil/capacidad"
856
 
857
- #: redirection-strings.php:90 matches/server.php:9
858
  msgid "URL and server"
859
  msgstr "URL y servidor"
860
 
@@ -914,15 +914,15 @@ msgstr "vaciando tu caché."
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Si estás usando un sistema de caché como Cloudflare entonces, por favor, lee esto:"
916
 
917
- #: redirection-strings.php:91 matches/http-header.php:11
918
  msgid "URL and HTTP header"
919
  msgstr "URL y cabecera HTTP"
920
 
921
- #: redirection-strings.php:92 matches/custom-filter.php:9
922
  msgid "URL and custom filter"
923
  msgstr "URL y filtro personalizado"
924
 
925
- #: redirection-strings.php:88 matches/cookie.php:7
926
  msgid "URL and cookie"
927
  msgstr "URL y cookie"
928
 
@@ -1988,7 +1988,7 @@ msgstr "Redirecciones"
1988
  msgid "User Agent"
1989
  msgstr "Agente usuario HTTP"
1990
 
1991
- #: redirection-strings.php:87 matches/user-agent.php:10
1992
  msgid "URL and user agent"
1993
  msgstr "URL y cliente de usuario (user agent)"
1994
 
@@ -1996,7 +1996,7 @@ msgstr "URL y cliente de usuario (user agent)"
1996
  msgid "Target URL"
1997
  msgstr "URL de destino"
1998
 
1999
- #: redirection-strings.php:83 matches/url.php:7
2000
  msgid "URL only"
2001
  msgstr "Sólo URL"
2002
 
@@ -2010,7 +2010,7 @@ msgstr "Expresión regular"
2010
  msgid "Referrer"
2011
  msgstr "Referente"
2012
 
2013
- #: redirection-strings.php:86 matches/referrer.php:10
2014
  msgid "URL and referrer"
2015
  msgstr "URL y referente"
2016
 
@@ -2022,6 +2022,6 @@ msgstr "Desconectado"
2022
  msgid "Logged In"
2023
  msgstr "Conectado"
2024
 
2025
- #: redirection-strings.php:84 matches/login.php:8
2026
  msgid "URL and login status"
2027
  msgstr "Estado de URL y conexión"
722
  msgid "Count"
723
  msgstr "Contador"
724
 
725
+ #: matches/page.php:9 redirection-strings.php:93
726
  msgid "URL and WordPress page type"
727
  msgstr "URL y tipo de página de WordPress"
728
 
729
+ #: matches/ip.php:9 redirection-strings.php:89
730
  msgid "URL and IP"
731
  msgstr "URL e IP"
732
 
850
  msgid "Add New"
851
  msgstr "Añadir nueva"
852
 
853
+ #: matches/user-role.php:9 redirection-strings.php:85
854
  msgid "URL and role/capability"
855
  msgstr "URL y perfil/capacidad"
856
 
857
+ #: matches/server.php:9 redirection-strings.php:90
858
  msgid "URL and server"
859
  msgstr "URL y servidor"
860
 
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Si estás usando un sistema de caché como Cloudflare entonces, por favor, lee esto:"
916
 
917
+ #: matches/http-header.php:11 redirection-strings.php:91
918
  msgid "URL and HTTP header"
919
  msgstr "URL y cabecera HTTP"
920
 
921
+ #: matches/custom-filter.php:9 redirection-strings.php:92
922
  msgid "URL and custom filter"
923
  msgstr "URL y filtro personalizado"
924
 
925
+ #: matches/cookie.php:7 redirection-strings.php:88
926
  msgid "URL and cookie"
927
  msgstr "URL y cookie"
928
 
1988
  msgid "User Agent"
1989
  msgstr "Agente usuario HTTP"
1990
 
1991
+ #: matches/user-agent.php:10 redirection-strings.php:87
1992
  msgid "URL and user agent"
1993
  msgstr "URL y cliente de usuario (user agent)"
1994
 
1996
  msgid "Target URL"
1997
  msgstr "URL de destino"
1998
 
1999
+ #: matches/url.php:7 redirection-strings.php:83
2000
  msgid "URL only"
2001
  msgstr "Sólo URL"
2002
 
2010
  msgid "Referrer"
2011
  msgstr "Referente"
2012
 
2013
+ #: matches/referrer.php:10 redirection-strings.php:86
2014
  msgid "URL and referrer"
2015
  msgstr "URL y referente"
2016
 
2022
  msgid "Logged In"
2023
  msgstr "Conectado"
2024
 
2025
+ #: matches/login.php:8 redirection-strings.php:84
2026
  msgid "URL and login status"
2027
  msgstr "Estado de URL y conexión"
locale/redirection-fr_FR.po CHANGED
@@ -722,11 +722,11 @@ msgstr "Tout rediriger"
722
  msgid "Count"
723
  msgstr "Compter"
724
 
725
- #: redirection-strings.php:93 matches/page.php:9
726
  msgid "URL and WordPress page type"
727
  msgstr "URL et type de page WordPress"
728
 
729
- #: redirection-strings.php:89 matches/ip.php:9
730
  msgid "URL and IP"
731
  msgstr "URL et IP"
732
 
@@ -850,11 +850,11 @@ msgstr "RGPD/information de confidentialité"
850
  msgid "Add New"
851
  msgstr "Ajouter une redirection"
852
 
853
- #: redirection-strings.php:85 matches/user-role.php:9
854
  msgid "URL and role/capability"
855
  msgstr "URL et rôle/capacité"
856
 
857
- #: redirection-strings.php:90 matches/server.php:9
858
  msgid "URL and server"
859
  msgstr "URL et serveur"
860
 
@@ -914,15 +914,15 @@ msgstr "vider votre cache."
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Si vous utilisez un système de cache comme Cloudflare, veuillez lire ceci : "
916
 
917
- #: redirection-strings.php:91 matches/http-header.php:11
918
  msgid "URL and HTTP header"
919
  msgstr "URL et en-tête HTTP"
920
 
921
- #: redirection-strings.php:92 matches/custom-filter.php:9
922
  msgid "URL and custom filter"
923
  msgstr "URL et filtre personnalisé"
924
 
925
- #: redirection-strings.php:88 matches/cookie.php:7
926
  msgid "URL and cookie"
927
  msgstr "URL et cookie"
928
 
@@ -1988,7 +1988,7 @@ msgstr "Redirections"
1988
  msgid "User Agent"
1989
  msgstr "Agent utilisateur"
1990
 
1991
- #: redirection-strings.php:87 matches/user-agent.php:10
1992
  msgid "URL and user agent"
1993
  msgstr "URL et agent utilisateur"
1994
 
@@ -1996,7 +1996,7 @@ msgstr "URL et agent utilisateur"
1996
  msgid "Target URL"
1997
  msgstr "URL cible"
1998
 
1999
- #: redirection-strings.php:83 matches/url.php:7
2000
  msgid "URL only"
2001
  msgstr "URL uniquement"
2002
 
@@ -2010,7 +2010,7 @@ msgstr "Regex"
2010
  msgid "Referrer"
2011
  msgstr "Référant"
2012
 
2013
- #: redirection-strings.php:86 matches/referrer.php:10
2014
  msgid "URL and referrer"
2015
  msgstr "URL et référent"
2016
 
@@ -2022,6 +2022,6 @@ msgstr "Déconnecté"
2022
  msgid "Logged In"
2023
  msgstr "Connecté"
2024
 
2025
- #: redirection-strings.php:84 matches/login.php:8
2026
  msgid "URL and login status"
2027
  msgstr "URL et état de connexion"
722
  msgid "Count"
723
  msgstr "Compter"
724
 
725
+ #: matches/page.php:9 redirection-strings.php:93
726
  msgid "URL and WordPress page type"
727
  msgstr "URL et type de page WordPress"
728
 
729
+ #: matches/ip.php:9 redirection-strings.php:89
730
  msgid "URL and IP"
731
  msgstr "URL et IP"
732
 
850
  msgid "Add New"
851
  msgstr "Ajouter une redirection"
852
 
853
+ #: matches/user-role.php:9 redirection-strings.php:85
854
  msgid "URL and role/capability"
855
  msgstr "URL et rôle/capacité"
856
 
857
+ #: matches/server.php:9 redirection-strings.php:90
858
  msgid "URL and server"
859
  msgstr "URL et serveur"
860
 
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Si vous utilisez un système de cache comme Cloudflare, veuillez lire ceci : "
916
 
917
+ #: matches/http-header.php:11 redirection-strings.php:91
918
  msgid "URL and HTTP header"
919
  msgstr "URL et en-tête HTTP"
920
 
921
+ #: matches/custom-filter.php:9 redirection-strings.php:92
922
  msgid "URL and custom filter"
923
  msgstr "URL et filtre personnalisé"
924
 
925
+ #: matches/cookie.php:7 redirection-strings.php:88
926
  msgid "URL and cookie"
927
  msgstr "URL et cookie"
928
 
1988
  msgid "User Agent"
1989
  msgstr "Agent utilisateur"
1990
 
1991
+ #: matches/user-agent.php:10 redirection-strings.php:87
1992
  msgid "URL and user agent"
1993
  msgstr "URL et agent utilisateur"
1994
 
1996
  msgid "Target URL"
1997
  msgstr "URL cible"
1998
 
1999
+ #: matches/url.php:7 redirection-strings.php:83
2000
  msgid "URL only"
2001
  msgstr "URL uniquement"
2002
 
2010
  msgid "Referrer"
2011
  msgstr "Référant"
2012
 
2013
+ #: matches/referrer.php:10 redirection-strings.php:86
2014
  msgid "URL and referrer"
2015
  msgstr "URL et référent"
2016
 
2022
  msgid "Logged In"
2023
  msgstr "Connecté"
2024
 
2025
+ #: matches/login.php:8 redirection-strings.php:84
2026
  msgid "URL and login status"
2027
  msgstr "URL et état de connexion"
locale/redirection-ja.po CHANGED
@@ -722,11 +722,11 @@ msgstr ""
722
  msgid "Count"
723
  msgstr ""
724
 
725
- #: redirection-strings.php:93 matches/page.php:9
726
  msgid "URL and WordPress page type"
727
  msgstr ""
728
 
729
- #: redirection-strings.php:89 matches/ip.php:9
730
  msgid "URL and IP"
731
  msgstr ""
732
 
@@ -850,11 +850,11 @@ msgstr "GDPR / 個人情報"
850
  msgid "Add New"
851
  msgstr "新規追加"
852
 
853
- #: redirection-strings.php:85 matches/user-role.php:9
854
  msgid "URL and role/capability"
855
  msgstr "URL と権限グループ / 権限"
856
 
857
- #: redirection-strings.php:90 matches/server.php:9
858
  msgid "URL and server"
859
  msgstr "URL とサーバー"
860
 
@@ -914,15 +914,15 @@ msgstr "キャッシュを削除"
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Cloudflare などのキャッシュシステムをお使いの場合こちらをお読みください :"
916
 
917
- #: redirection-strings.php:91 matches/http-header.php:11
918
  msgid "URL and HTTP header"
919
  msgstr "URL と HTTP ヘッダー"
920
 
921
- #: redirection-strings.php:92 matches/custom-filter.php:9
922
  msgid "URL and custom filter"
923
  msgstr "URL とカスタムフィルター"
924
 
925
- #: redirection-strings.php:88 matches/cookie.php:7
926
  msgid "URL and cookie"
927
  msgstr "URL と Cookie"
928
 
@@ -1988,7 +1988,7 @@ msgstr "転送ルール"
1988
  msgid "User Agent"
1989
  msgstr "ユーザーエージェント"
1990
 
1991
- #: redirection-strings.php:87 matches/user-agent.php:10
1992
  msgid "URL and user agent"
1993
  msgstr "URL およびユーザーエージェント"
1994
 
@@ -1996,7 +1996,7 @@ msgstr "URL およびユーザーエージェント"
1996
  msgid "Target URL"
1997
  msgstr "ターゲット URL"
1998
 
1999
- #: redirection-strings.php:83 matches/url.php:7
2000
  msgid "URL only"
2001
  msgstr "URL のみ"
2002
 
@@ -2010,7 +2010,7 @@ msgstr "正規表現"
2010
  msgid "Referrer"
2011
  msgstr "リファラー"
2012
 
2013
- #: redirection-strings.php:86 matches/referrer.php:10
2014
  msgid "URL and referrer"
2015
  msgstr "URL およびリファラー"
2016
 
@@ -2022,6 +2022,6 @@ msgstr "ログアウト中"
2022
  msgid "Logged In"
2023
  msgstr "ログイン中"
2024
 
2025
- #: redirection-strings.php:84 matches/login.php:8
2026
  msgid "URL and login status"
2027
  msgstr "URL およびログイン状態"
722
  msgid "Count"
723
  msgstr ""
724
 
725
+ #: matches/page.php:9 redirection-strings.php:93
726
  msgid "URL and WordPress page type"
727
  msgstr ""
728
 
729
+ #: matches/ip.php:9 redirection-strings.php:89
730
  msgid "URL and IP"
731
  msgstr ""
732
 
850
  msgid "Add New"
851
  msgstr "新規追加"
852
 
853
+ #: matches/user-role.php:9 redirection-strings.php:85
854
  msgid "URL and role/capability"
855
  msgstr "URL と権限グループ / 権限"
856
 
857
+ #: matches/server.php:9 redirection-strings.php:90
858
  msgid "URL and server"
859
  msgstr "URL とサーバー"
860
 
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Cloudflare などのキャッシュシステムをお使いの場合こちらをお読みください :"
916
 
917
+ #: matches/http-header.php:11 redirection-strings.php:91
918
  msgid "URL and HTTP header"
919
  msgstr "URL と HTTP ヘッダー"
920
 
921
+ #: matches/custom-filter.php:9 redirection-strings.php:92
922
  msgid "URL and custom filter"
923
  msgstr "URL とカスタムフィルター"
924
 
925
+ #: matches/cookie.php:7 redirection-strings.php:88
926
  msgid "URL and cookie"
927
  msgstr "URL と Cookie"
928
 
1988
  msgid "User Agent"
1989
  msgstr "ユーザーエージェント"
1990
 
1991
+ #: matches/user-agent.php:10 redirection-strings.php:87
1992
  msgid "URL and user agent"
1993
  msgstr "URL およびユーザーエージェント"
1994
 
1996
  msgid "Target URL"
1997
  msgstr "ターゲット URL"
1998
 
1999
+ #: matches/url.php:7 redirection-strings.php:83
2000
  msgid "URL only"
2001
  msgstr "URL のみ"
2002
 
2010
  msgid "Referrer"
2011
  msgstr "リファラー"
2012
 
2013
+ #: matches/referrer.php:10 redirection-strings.php:86
2014
  msgid "URL and referrer"
2015
  msgstr "URL およびリファラー"
2016
 
2022
  msgid "Logged In"
2023
  msgstr "ログイン中"
2024
 
2025
+ #: matches/login.php:8 redirection-strings.php:84
2026
  msgid "URL and login status"
2027
  msgstr "URL およびログイン状態"
locale/redirection-pt_BR.mo CHANGED
Binary file
locale/redirection-pt_BR.po CHANGED
@@ -2,7 +2,7 @@
2
  # This file is distributed under the same license as the Plugins - Redirection - Stable (latest release) package.
3
  msgid ""
4
  msgstr ""
5
- "PO-Revision-Date: 2019-04-06 21:45:34+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
@@ -13,209 +13,209 @@ msgstr ""
13
 
14
  #: redirection-strings.php:525
15
  msgid "This information is provided for debugging purposes. Be careful making any changes."
16
- msgstr ""
17
 
18
  #: redirection-strings.php:524
19
  msgid "Plugin Debug"
20
- msgstr ""
21
 
22
  #: redirection-strings.php:522
23
  msgid "Redirection communicates with WordPress through the WordPress REST API. This is a standard part of WordPress, and you will experience problems if you cannot use it."
24
- msgstr ""
25
 
26
  #: redirection-strings.php:501
27
  msgid "IP Headers"
28
- msgstr ""
29
 
30
  #: redirection-strings.php:499
31
  msgid "Do not change unless advised to do so!"
32
- msgstr ""
33
 
34
  #: redirection-strings.php:498
35
  msgid "Database version"
36
- msgstr ""
37
 
38
  #: redirection-strings.php:341
39
  msgid "Complete data (JSON)"
40
- msgstr ""
41
 
42
  #: redirection-strings.php:336
43
  msgid "Export to CSV, Apache .htaccess, Nginx, or Redirection JSON. The JSON format contains full information, and other formats contain partial information appropriate to the format."
44
- msgstr ""
45
 
46
  #: redirection-strings.php:334
47
  msgid "CSV does not include all information, and everything is imported/exported as \"URL only\" matches. Use the JSON format for a full set of data."
48
- msgstr ""
49
 
50
  #: redirection-strings.php:332
51
  msgid "All imports will be appended to the current database - nothing is merged."
52
- msgstr ""
53
 
54
  #: redirection-strings.php:295
55
  msgid "Automatic Upgrade"
56
- msgstr ""
57
 
58
  #: redirection-strings.php:294
59
  msgid "Manual Upgrade"
60
- msgstr ""
61
 
62
  #: redirection-strings.php:293
63
  msgid "Please make a backup of your Redirection data: {{download}}downloading a backup{{/download}}. If you experience any issues you can import this back into Redirection."
64
- msgstr ""
65
 
66
  #: redirection-strings.php:289
67
  msgid "Click the \"Upgrade Database\" button to automatically upgrade the database."
68
- msgstr ""
69
 
70
  #: redirection-strings.php:288
71
  msgid "Complete Upgrade"
72
- msgstr ""
73
 
74
  #: redirection-strings.php:287
75
  msgid "If your site needs special database permissions, or you would rather do it yourself, you can manually run the following SQL. Click \"Complete Upgrade\" when finished."
76
- msgstr ""
77
 
78
  #: redirection-strings.php:286
79
  msgid "Redirection stores data in your database and sometimes this needs upgrading. Your database is at version {{strong}}%(current)s{{/strong}} and the latest is {{strong}}%(latest)s{{/strong}}."
80
- msgstr ""
81
 
82
  #: redirection-strings.php:274 redirection-strings.php:284
83
  msgid "Note that you will need to set the Apache module path in your Redirection options."
84
- msgstr ""
85
 
86
  #: redirection-strings.php:262
87
  msgid "I need support!"
88
- msgstr ""
89
 
90
  #: redirection-strings.php:258
91
  msgid "You will need at least one working REST API to continue."
92
- msgstr ""
93
 
94
  #: redirection-strings.php:190
95
  msgid "Check Again"
96
- msgstr ""
97
 
98
  #: redirection-strings.php:189
99
  msgid "Testing - %s$"
100
- msgstr ""
101
 
102
  #: redirection-strings.php:188
103
  msgid "Show Problems"
104
- msgstr ""
105
 
106
  #: redirection-strings.php:187
107
  msgid "Summary"
108
- msgstr ""
109
 
110
  #: redirection-strings.php:186
111
  msgid "You are using a broken REST API route. Changing to a working API should fix the problem."
112
- msgstr ""
113
 
114
  #: redirection-strings.php:185
115
  msgid "Your REST API is not working and the plugin will not be able to continue until this is fixed."
116
- msgstr ""
117
 
118
  #: redirection-strings.php:184
119
  msgid "There are some problems connecting to your REST API. It is not necessary to fix these problems and the plugin is able to work."
120
- msgstr ""
121
 
122
  #: redirection-strings.php:183
123
  msgid "Unavailable"
124
- msgstr ""
125
 
126
  #: redirection-strings.php:182
127
  msgid "Not working but fixable"
128
- msgstr ""
129
 
130
  #: redirection-strings.php:181
131
  msgid "Working but some issues"
132
- msgstr ""
133
 
134
  #: redirection-strings.php:179
135
  msgid "Current API"
136
- msgstr ""
137
 
138
  #: redirection-strings.php:178
139
  msgid "Switch to this API"
140
- msgstr ""
141
 
142
  #: redirection-strings.php:177
143
  msgid "Hide"
144
- msgstr ""
145
 
146
  #: redirection-strings.php:176
147
  msgid "Show Full"
148
- msgstr ""
149
 
150
  #: redirection-strings.php:175
151
  msgid "Working!"
152
- msgstr ""
153
 
154
  #: redirection-strings.php:174
155
  msgid "Your target URL should be an absolute URL like {{code}}https://domain.com/%(url)s{{/code}} or start with a slash {{code}}/%(url)s{{/code}}."
156
- msgstr ""
157
 
158
  #: redirection-strings.php:173
159
  msgid "Your source is the same as a target and this will create a loop. Leave a target blank if you do not want to take action."
160
- msgstr ""
161
 
162
  #: redirection-strings.php:163
163
  msgid "The target URL you want to redirect, or auto-complete on post name or permalink."
164
- msgstr ""
165
 
166
  #: redirection-strings.php:39
167
  msgid "Include these details in your report along with a description of what you were doing and a screenshot"
168
- msgstr ""
169
 
170
  #: redirection-strings.php:37
171
  msgid "Create An Issue"
172
- msgstr ""
173
 
174
  #: redirection-strings.php:36
175
  msgid "Please {{strong}}create an issue{{/strong}} or send it in an {{strong}}email{{/strong}}."
176
- msgstr ""
177
 
178
  #: redirection-strings.php:35
179
  msgid "That didn't help"
180
- msgstr ""
181
 
182
  #: redirection-strings.php:31
183
  msgid "What do I do next?"
184
- msgstr ""
185
 
186
  #: redirection-strings.php:28
187
  msgid "Unable to make request due to browser security. This is typically because your WordPress and Site URL settings are inconsistent."
188
- msgstr ""
189
 
190
  #: redirection-strings.php:27
191
  msgid "Possible cause"
192
- msgstr ""
193
 
194
  #: redirection-strings.php:26
195
  msgid "WordPress returned an unexpected message. This is probably a PHP error from another plugin."
196
- msgstr ""
197
 
198
  #: redirection-strings.php:23
199
  msgid "This could be a security plugin, or your server is out of memory or has an external error. Please check your server error log"
200
- msgstr ""
201
 
202
  #: redirection-strings.php:20
203
  msgid "Your REST API is returning a 404 page. This may be caused by a security plugin, or your server may be misconfigured"
204
- msgstr ""
205
 
206
  #: redirection-strings.php:18
207
  msgid "Your REST API is probably being blocked by a security plugin. Please disable this, or configure it to allow REST API requests."
208
- msgstr ""
209
 
210
  #: redirection-strings.php:17 redirection-strings.php:19
211
  #: redirection-strings.php:21 redirection-strings.php:24
212
  #: redirection-strings.php:29
213
  msgid "Read this REST API guide for more information."
214
- msgstr ""
215
 
216
  #: redirection-strings.php:16
217
  msgid "Your REST API is being cached. Please clear any caching plugin and any server cache, logout, clear your browser cache, and try again."
218
- msgstr ""
219
 
220
  #: redirection-strings.php:161
221
  msgid "URL options / Regex"
@@ -722,11 +722,11 @@ msgstr "Redirecionar todos"
722
  msgid "Count"
723
  msgstr "Número"
724
 
725
- #: redirection-strings.php:93 matches/page.php:9
726
  msgid "URL and WordPress page type"
727
  msgstr "URL e tipo de página do WordPress"
728
 
729
- #: redirection-strings.php:89 matches/ip.php:9
730
  msgid "URL and IP"
731
  msgstr "URL e IP"
732
 
@@ -850,11 +850,11 @@ msgstr "GDPR / Informações sobre privacidade (em inglês)"
850
  msgid "Add New"
851
  msgstr "Adicionar novo"
852
 
853
- #: redirection-strings.php:85 matches/user-role.php:9
854
  msgid "URL and role/capability"
855
  msgstr "URL e função/capacidade"
856
 
857
- #: redirection-strings.php:90 matches/server.php:9
858
  msgid "URL and server"
859
  msgstr "URL e servidor"
860
 
@@ -914,15 +914,15 @@ msgstr "limpando seu cache."
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Se você estiver usando um sistema de cache como o Cloudflare, então leia isto: "
916
 
917
- #: redirection-strings.php:91 matches/http-header.php:11
918
  msgid "URL and HTTP header"
919
  msgstr "URL e cabeçalho HTTP"
920
 
921
- #: redirection-strings.php:92 matches/custom-filter.php:9
922
  msgid "URL and custom filter"
923
  msgstr "URL e filtro personalizado"
924
 
925
- #: redirection-strings.php:88 matches/cookie.php:7
926
  msgid "URL and cookie"
927
  msgstr "URL e cookie"
928
 
@@ -1988,7 +1988,7 @@ msgstr "Redirecionamentos"
1988
  msgid "User Agent"
1989
  msgstr "Agente de usuário"
1990
 
1991
- #: redirection-strings.php:87 matches/user-agent.php:10
1992
  msgid "URL and user agent"
1993
  msgstr "URL e agente de usuário"
1994
 
@@ -1996,7 +1996,7 @@ msgstr "URL e agente de usuário"
1996
  msgid "Target URL"
1997
  msgstr "URL de destino"
1998
 
1999
- #: redirection-strings.php:83 matches/url.php:7
2000
  msgid "URL only"
2001
  msgstr "URL somente"
2002
 
@@ -2010,7 +2010,7 @@ msgstr "Regex"
2010
  msgid "Referrer"
2011
  msgstr "Referenciador"
2012
 
2013
- #: redirection-strings.php:86 matches/referrer.php:10
2014
  msgid "URL and referrer"
2015
  msgstr "URL e referenciador"
2016
 
@@ -2022,6 +2022,6 @@ msgstr "Desconectado"
2022
  msgid "Logged In"
2023
  msgstr "Conectado"
2024
 
2025
- #: redirection-strings.php:84 matches/login.php:8
2026
  msgid "URL and login status"
2027
  msgstr "URL e status de login"
2
  # This file is distributed under the same license as the Plugins - Redirection - Stable (latest release) package.
3
  msgid ""
4
  msgstr ""
5
+ "PO-Revision-Date: 2019-04-15 01:13:07+0000\n"
6
  "MIME-Version: 1.0\n"
7
  "Content-Type: text/plain; charset=UTF-8\n"
8
  "Content-Transfer-Encoding: 8bit\n"
13
 
14
  #: redirection-strings.php:525
15
  msgid "This information is provided for debugging purposes. Be careful making any changes."
16
+ msgstr "Esta informação é fornecida somente para depuração. Cuidado ao fazer qualquer mudança."
17
 
18
  #: redirection-strings.php:524
19
  msgid "Plugin Debug"
20
+ msgstr "Depuração do Plugin"
21
 
22
  #: redirection-strings.php:522
23
  msgid "Redirection communicates with WordPress through the WordPress REST API. This is a standard part of WordPress, and you will experience problems if you cannot use it."
24
+ msgstr "O Redirection se comunica com o WordPress por meio da API REST do WordPress. Ela é uma parte integrante do WordPress, e você terá problemas se não conseguir usá-la."
25
 
26
  #: redirection-strings.php:501
27
  msgid "IP Headers"
28
+ msgstr "Cabeçalhos IP"
29
 
30
  #: redirection-strings.php:499
31
  msgid "Do not change unless advised to do so!"
32
+ msgstr "Não altere, a menos que seja aconselhado a fazê-lo!"
33
 
34
  #: redirection-strings.php:498
35
  msgid "Database version"
36
+ msgstr "Versão do banco de dados"
37
 
38
  #: redirection-strings.php:341
39
  msgid "Complete data (JSON)"
40
+ msgstr "Dados completos (JSON)"
41
 
42
  #: redirection-strings.php:336
43
  msgid "Export to CSV, Apache .htaccess, Nginx, or Redirection JSON. The JSON format contains full information, and other formats contain partial information appropriate to the format."
44
+ msgstr "Exporte para CSV, .htaccess do Apache, Nginx, ou JSON do Redirection. O formato JSON contém todas as informações; os outros formatos contêm informações parciais apropriadas a cada formato."
45
 
46
  #: redirection-strings.php:334
47
  msgid "CSV does not include all information, and everything is imported/exported as \"URL only\" matches. Use the JSON format for a full set of data."
48
+ msgstr "O CSV não inclui todas as informações e tudo é importado/exportado como correspondências \"URL somente\". Use o formato JSON se quiser o conjunto completo dos dados."
49
 
50
  #: redirection-strings.php:332
51
  msgid "All imports will be appended to the current database - nothing is merged."
52
+ msgstr "Todas as importações são adicionadas ao banco de dados - nada é fundido."
53
 
54
  #: redirection-strings.php:295
55
  msgid "Automatic Upgrade"
56
+ msgstr "Upgrade Automático"
57
 
58
  #: redirection-strings.php:294
59
  msgid "Manual Upgrade"
60
+ msgstr "Upgrade Manual"
61
 
62
  #: redirection-strings.php:293
63
  msgid "Please make a backup of your Redirection data: {{download}}downloading a backup{{/download}}. If you experience any issues you can import this back into Redirection."
64
+ msgstr "Faça um backup dos seus dados no Redirection: {{download}}baixar um backup{{/download}}. Se houver qualquer problema, você pode importar esses dados de novo para o Redirection."
65
 
66
  #: redirection-strings.php:289
67
  msgid "Click the \"Upgrade Database\" button to automatically upgrade the database."
68
+ msgstr "Clique no botão \"Upgrade do Banco de Dados\" para fazer automaticamente um upgrade do banco de dados."
69
 
70
  #: redirection-strings.php:288
71
  msgid "Complete Upgrade"
72
+ msgstr "Completar Upgrade"
73
 
74
  #: redirection-strings.php:287
75
  msgid "If your site needs special database permissions, or you would rather do it yourself, you can manually run the following SQL. Click \"Complete Upgrade\" when finished."
76
+ msgstr "Se o seu site precisa de permissões especais para o banco de dados, ou se preferir fazer por conta própria, você pode manualmente rodar o seguinte SQL. Clique \"Completar Upgrade\" quando acabar."
77
 
78
  #: redirection-strings.php:286
79
  msgid "Redirection stores data in your database and sometimes this needs upgrading. Your database is at version {{strong}}%(current)s{{/strong}} and the latest is {{strong}}%(latest)s{{/strong}}."
80
+ msgstr "O Redirection armazena dados em seu banco de dados e às vezes ele precisa ser atualizado. O seu banco de dados está na versão {{strong}}%(current)s{{/strong}} e a mais recente é a {{strong}}%(latest)s{{/strong}}."
81
 
82
  #: redirection-strings.php:274 redirection-strings.php:284
83
  msgid "Note that you will need to set the Apache module path in your Redirection options."
84
+ msgstr "Observe que você precisa indicar o caminho do módulo Apache em suas opções do Redirection."
85
 
86
  #: redirection-strings.php:262
87
  msgid "I need support!"
88
+ msgstr "Preciso de ajuda!"
89
 
90
  #: redirection-strings.php:258
91
  msgid "You will need at least one working REST API to continue."
92
+ msgstr "É preciso pelo menos uma API REST funcionando para continuar."
93
 
94
  #: redirection-strings.php:190
95
  msgid "Check Again"
96
+ msgstr "Conferir Novamente"
97
 
98
  #: redirection-strings.php:189
99
  msgid "Testing - %s$"
100
+ msgstr "Testando - %s$"
101
 
102
  #: redirection-strings.php:188
103
  msgid "Show Problems"
104
+ msgstr "Mostrar Problemas"
105
 
106
  #: redirection-strings.php:187
107
  msgid "Summary"
108
+ msgstr "Sumário"
109
 
110
  #: redirection-strings.php:186
111
  msgid "You are using a broken REST API route. Changing to a working API should fix the problem."
112
+ msgstr "Você está usando uma rota inválida para a API REST. Mudar para uma API em funcionamento deve resolver o problema."
113
 
114
  #: redirection-strings.php:185
115
  msgid "Your REST API is not working and the plugin will not be able to continue until this is fixed."
116
+ msgstr "A API REST não está funcionando e o plugin não conseguirá continuar até que isso seja corrigido."
117
 
118
  #: redirection-strings.php:184
119
  msgid "There are some problems connecting to your REST API. It is not necessary to fix these problems and the plugin is able to work."
120
+ msgstr "Há alguns problemas para conectar à sua API REST. Não é preciso corrigir esses problemas e o plugin está conseguindo funcionar."
121
 
122
  #: redirection-strings.php:183
123
  msgid "Unavailable"
124
+ msgstr "Indisponível"
125
 
126
  #: redirection-strings.php:182
127
  msgid "Not working but fixable"
128
+ msgstr "Não está funcionando, mas dá para arrumar"
129
 
130
  #: redirection-strings.php:181
131
  msgid "Working but some issues"
132
+ msgstr "Funcionando, mas com alguns problemas"
133
 
134
  #: redirection-strings.php:179
135
  msgid "Current API"
136
+ msgstr "API atual"
137
 
138
  #: redirection-strings.php:178
139
  msgid "Switch to this API"
140
+ msgstr "Troque para esta API"
141
 
142
  #: redirection-strings.php:177
143
  msgid "Hide"
144
+ msgstr "Ocultar"
145
 
146
  #: redirection-strings.php:176
147
  msgid "Show Full"
148
+ msgstr "Mostrar Tudo"
149
 
150
  #: redirection-strings.php:175
151
  msgid "Working!"
152
+ msgstr "Funcionando!"
153
 
154
  #: redirection-strings.php:174
155
  msgid "Your target URL should be an absolute URL like {{code}}https://domain.com/%(url)s{{/code}} or start with a slash {{code}}/%(url)s{{/code}}."
156
+ msgstr "O URL de destino deve ser um URL absoluto, como {{code}}https://domain.com/%(url)s{{/code}} ou iniciar com uma barra {{code}}/%(url)s{{/code}}."
157
 
158
  #: redirection-strings.php:173
159
  msgid "Your source is the same as a target and this will create a loop. Leave a target blank if you do not want to take action."
160
+ msgstr "Seu destino é o mesmo que uma origem e isso vai criar um loop. Deixe o destino em branco se você não quiser nenhuma ação."
161
 
162
  #: redirection-strings.php:163
163
  msgid "The target URL you want to redirect, or auto-complete on post name or permalink."
164
+ msgstr "O URL de destino que você quer redirecionar, ou auto-completar com o nome do post ou link permanente."
165
 
166
  #: redirection-strings.php:39
167
  msgid "Include these details in your report along with a description of what you were doing and a screenshot"
168
+ msgstr "Inclua esses detales em seu relato, junto com uma descrição do que você estava fazendo e uma captura de tela"
169
 
170
  #: redirection-strings.php:37
171
  msgid "Create An Issue"
172
+ msgstr "Criar um Relato"
173
 
174
  #: redirection-strings.php:36
175
  msgid "Please {{strong}}create an issue{{/strong}} or send it in an {{strong}}email{{/strong}}."
176
+ msgstr "{{strong}}Crie um relato{{/strong}} ou o envie num {{strong}}e-mail{{/strong}}."
177
 
178
  #: redirection-strings.php:35
179
  msgid "That didn't help"
180
+ msgstr "Isso não ajudou"
181
 
182
  #: redirection-strings.php:31
183
  msgid "What do I do next?"
184
+ msgstr "O que eu faço agora?"
185
 
186
  #: redirection-strings.php:28
187
  msgid "Unable to make request due to browser security. This is typically because your WordPress and Site URL settings are inconsistent."
188
+ msgstr "Não foi possível fazer a solicitação devido à segurança do navegador. Geralmente isso acontece porque o URL do WordPress e o URL do Site são inconsistentes."
189
 
190
  #: redirection-strings.php:27
191
  msgid "Possible cause"
192
+ msgstr "Possível causa"
193
 
194
  #: redirection-strings.php:26
195
  msgid "WordPress returned an unexpected message. This is probably a PHP error from another plugin."
196
+ msgstr "O WordPress retornou uma mensagem inesperada. Isso provavelmente é um erro de PHP de um outro plugin."
197
 
198
  #: redirection-strings.php:23
199
  msgid "This could be a security plugin, or your server is out of memory or has an external error. Please check your server error log"
200
+ msgstr "Este pode ser um plugin de segurança, ou o seu servidor está com pouca memória, ou tem um erro externo. Confira os registros do seu servidor."
201
 
202
  #: redirection-strings.php:20
203
  msgid "Your REST API is returning a 404 page. This may be caused by a security plugin, or your server may be misconfigured"
204
+ msgstr "Sua API REST está retornando uma página 404. Isso pode ser causado por um plugin de segurança, ou o seu servidor pode estar mal configurado."
205
 
206
  #: redirection-strings.php:18
207
  msgid "Your REST API is probably being blocked by a security plugin. Please disable this, or configure it to allow REST API requests."
208
+ msgstr "Sua API REST provavelmente está sendo bloqueada por um plugin de segurança. Por favor desative ele, ou o configure para permitir solicitações à API REST."
209
 
210
  #: redirection-strings.php:17 redirection-strings.php:19
211
  #: redirection-strings.php:21 redirection-strings.php:24
212
  #: redirection-strings.php:29
213
  msgid "Read this REST API guide for more information."
214
+ msgstr "Leia este guia da API REST para mais informações."
215
 
216
  #: redirection-strings.php:16
217
  msgid "Your REST API is being cached. Please clear any caching plugin and any server cache, logout, clear your browser cache, and try again."
218
+ msgstr "Sua API REST API está sendo enviada para o cache. Por favor libere todos os caches, de plugin ou do servidor, saia do WordPress, libere o cache do seu navegador, e tente novamente."
219
 
220
  #: redirection-strings.php:161
221
  msgid "URL options / Regex"
722
  msgid "Count"
723
  msgstr "Número"
724
 
725
+ #: matches/page.php:9 redirection-strings.php:93
726
  msgid "URL and WordPress page type"
727
  msgstr "URL e tipo de página do WordPress"
728
 
729
+ #: matches/ip.php:9 redirection-strings.php:89
730
  msgid "URL and IP"
731
  msgstr "URL e IP"
732
 
850
  msgid "Add New"
851
  msgstr "Adicionar novo"
852
 
853
+ #: matches/user-role.php:9 redirection-strings.php:85
854
  msgid "URL and role/capability"
855
  msgstr "URL e função/capacidade"
856
 
857
+ #: matches/server.php:9 redirection-strings.php:90
858
  msgid "URL and server"
859
  msgstr "URL e servidor"
860
 
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Se você estiver usando um sistema de cache como o Cloudflare, então leia isto: "
916
 
917
+ #: matches/http-header.php:11 redirection-strings.php:91
918
  msgid "URL and HTTP header"
919
  msgstr "URL e cabeçalho HTTP"
920
 
921
+ #: matches/custom-filter.php:9 redirection-strings.php:92
922
  msgid "URL and custom filter"
923
  msgstr "URL e filtro personalizado"
924
 
925
+ #: matches/cookie.php:7 redirection-strings.php:88
926
  msgid "URL and cookie"
927
  msgstr "URL e cookie"
928
 
1988
  msgid "User Agent"
1989
  msgstr "Agente de usuário"
1990
 
1991
+ #: matches/user-agent.php:10 redirection-strings.php:87
1992
  msgid "URL and user agent"
1993
  msgstr "URL e agente de usuário"
1994
 
1996
  msgid "Target URL"
1997
  msgstr "URL de destino"
1998
 
1999
+ #: matches/url.php:7 redirection-strings.php:83
2000
  msgid "URL only"
2001
  msgstr "URL somente"
2002
 
2010
  msgid "Referrer"
2011
  msgstr "Referenciador"
2012
 
2013
+ #: matches/referrer.php:10 redirection-strings.php:86
2014
  msgid "URL and referrer"
2015
  msgstr "URL e referenciador"
2016
 
2022
  msgid "Logged In"
2023
  msgstr "Conectado"
2024
 
2025
+ #: matches/login.php:8 redirection-strings.php:84
2026
  msgid "URL and login status"
2027
  msgstr "URL e status de login"
locale/redirection-ru_RU.po CHANGED
@@ -722,11 +722,11 @@ msgstr "Перенаправить все"
722
  msgid "Count"
723
  msgstr "Счетчик"
724
 
725
- #: redirection-strings.php:93 matches/page.php:9
726
  msgid "URL and WordPress page type"
727
  msgstr "URL и тип страницы WP"
728
 
729
- #: redirection-strings.php:89 matches/ip.php:9
730
  msgid "URL and IP"
731
  msgstr "URL и IP"
732
 
@@ -850,11 +850,11 @@ msgstr "GDPR / Информация о конфиденциальности"
850
  msgid "Add New"
851
  msgstr "Добавить новое"
852
 
853
- #: redirection-strings.php:85 matches/user-role.php:9
854
  msgid "URL and role/capability"
855
  msgstr "URL-адрес и роль/возможности"
856
 
857
- #: redirection-strings.php:90 matches/server.php:9
858
  msgid "URL and server"
859
  msgstr "URL и сервер"
860
 
@@ -914,15 +914,15 @@ msgstr "очистка кеша."
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Если вы используете систему кэширования, такую как cloudflare, пожалуйста, прочитайте это: "
916
 
917
- #: redirection-strings.php:91 matches/http-header.php:11
918
  msgid "URL and HTTP header"
919
  msgstr "URL-адрес и заголовок HTTP"
920
 
921
- #: redirection-strings.php:92 matches/custom-filter.php:9
922
  msgid "URL and custom filter"
923
  msgstr "URL-адрес и пользовательский фильтр"
924
 
925
- #: redirection-strings.php:88 matches/cookie.php:7
926
  msgid "URL and cookie"
927
  msgstr "URL и куки"
928
 
@@ -1990,7 +1990,7 @@ msgstr "Перенаправления"
1990
  msgid "User Agent"
1991
  msgstr "Агент пользователя"
1992
 
1993
- #: redirection-strings.php:87 matches/user-agent.php:10
1994
  msgid "URL and user agent"
1995
  msgstr "URL-адрес и агент пользователя"
1996
 
@@ -1998,7 +1998,7 @@ msgstr "URL-адрес и агент пользователя"
1998
  msgid "Target URL"
1999
  msgstr "Целевой URL-адрес"
2000
 
2001
- #: redirection-strings.php:83 matches/url.php:7
2002
  msgid "URL only"
2003
  msgstr "Только URL-адрес"
2004
 
@@ -2012,7 +2012,7 @@ msgstr "Regex"
2012
  msgid "Referrer"
2013
  msgstr "Ссылающийся URL"
2014
 
2015
- #: redirection-strings.php:86 matches/referrer.php:10
2016
  msgid "URL and referrer"
2017
  msgstr "URL и ссылающийся URL"
2018
 
@@ -2024,6 +2024,6 @@ msgstr "Выход из системы"
2024
  msgid "Logged In"
2025
  msgstr "Вход в систему"
2026
 
2027
- #: redirection-strings.php:84 matches/login.php:8
2028
  msgid "URL and login status"
2029
  msgstr "Статус URL и входа"
722
  msgid "Count"
723
  msgstr "Счетчик"
724
 
725
+ #: matches/page.php:9 redirection-strings.php:93
726
  msgid "URL and WordPress page type"
727
  msgstr "URL и тип страницы WP"
728
 
729
+ #: matches/ip.php:9 redirection-strings.php:89
730
  msgid "URL and IP"
731
  msgstr "URL и IP"
732
 
850
  msgid "Add New"
851
  msgstr "Добавить новое"
852
 
853
+ #: matches/user-role.php:9 redirection-strings.php:85
854
  msgid "URL and role/capability"
855
  msgstr "URL-адрес и роль/возможности"
856
 
857
+ #: matches/server.php:9 redirection-strings.php:90
858
  msgid "URL and server"
859
  msgstr "URL и сервер"
860
 
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Если вы используете систему кэширования, такую как cloudflare, пожалуйста, прочитайте это: "
916
 
917
+ #: matches/http-header.php:11 redirection-strings.php:91
918
  msgid "URL and HTTP header"
919
  msgstr "URL-адрес и заголовок HTTP"
920
 
921
+ #: matches/custom-filter.php:9 redirection-strings.php:92
922
  msgid "URL and custom filter"
923
  msgstr "URL-адрес и пользовательский фильтр"
924
 
925
+ #: matches/cookie.php:7 redirection-strings.php:88
926
  msgid "URL and cookie"
927
  msgstr "URL и куки"
928
 
1990
  msgid "User Agent"
1991
  msgstr "Агент пользователя"
1992
 
1993
+ #: matches/user-agent.php:10 redirection-strings.php:87
1994
  msgid "URL and user agent"
1995
  msgstr "URL-адрес и агент пользователя"
1996
 
1998
  msgid "Target URL"
1999
  msgstr "Целевой URL-адрес"
2000
 
2001
+ #: matches/url.php:7 redirection-strings.php:83
2002
  msgid "URL only"
2003
  msgstr "Только URL-адрес"
2004
 
2012
  msgid "Referrer"
2013
  msgstr "Ссылающийся URL"
2014
 
2015
+ #: matches/referrer.php:10 redirection-strings.php:86
2016
  msgid "URL and referrer"
2017
  msgstr "URL и ссылающийся URL"
2018
 
2024
  msgid "Logged In"
2025
  msgstr "Вход в систему"
2026
 
2027
+ #: matches/login.php:8 redirection-strings.php:84
2028
  msgid "URL and login status"
2029
  msgstr "Статус URL и входа"
locale/redirection-sv_SE.po CHANGED
@@ -722,11 +722,11 @@ msgstr "Omdirigera alla"
722
  msgid "Count"
723
  msgstr ""
724
 
725
- #: redirection-strings.php:93 matches/page.php:9
726
  msgid "URL and WordPress page type"
727
  msgstr ""
728
 
729
- #: redirection-strings.php:89 matches/ip.php:9
730
  msgid "URL and IP"
731
  msgstr "URL och IP"
732
 
@@ -850,11 +850,11 @@ msgstr "GDPR/integritetsinformation"
850
  msgid "Add New"
851
  msgstr "Lägg till ny"
852
 
853
- #: redirection-strings.php:85 matches/user-role.php:9
854
  msgid "URL and role/capability"
855
  msgstr "URL och roll/behörighet"
856
 
857
- #: redirection-strings.php:90 matches/server.php:9
858
  msgid "URL and server"
859
  msgstr "URL och server"
860
 
@@ -914,15 +914,15 @@ msgstr "rensa cacheminnet."
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Om du använder ett caching-system som Cloudflare, läs det här:"
916
 
917
- #: redirection-strings.php:91 matches/http-header.php:11
918
  msgid "URL and HTTP header"
919
  msgstr "URL- och HTTP-sidhuvuden"
920
 
921
- #: redirection-strings.php:92 matches/custom-filter.php:9
922
  msgid "URL and custom filter"
923
  msgstr "URL och anpassat filter"
924
 
925
- #: redirection-strings.php:88 matches/cookie.php:7
926
  msgid "URL and cookie"
927
  msgstr "URL och cookie"
928
 
@@ -1988,7 +1988,7 @@ msgstr "Omdirigeringar"
1988
  msgid "User Agent"
1989
  msgstr "Användaragent"
1990
 
1991
- #: redirection-strings.php:87 matches/user-agent.php:10
1992
  msgid "URL and user agent"
1993
  msgstr "URL och användaragent"
1994
 
@@ -1996,7 +1996,7 @@ msgstr "URL och användaragent"
1996
  msgid "Target URL"
1997
  msgstr "Mål-URL"
1998
 
1999
- #: redirection-strings.php:83 matches/url.php:7
2000
  msgid "URL only"
2001
  msgstr "Endast URL"
2002
 
@@ -2010,7 +2010,7 @@ msgstr "Reguljärt uttryck"
2010
  msgid "Referrer"
2011
  msgstr "Hänvisningsadress"
2012
 
2013
- #: redirection-strings.php:86 matches/referrer.php:10
2014
  msgid "URL and referrer"
2015
  msgstr "URL och hänvisande webbplats"
2016
 
@@ -2022,6 +2022,6 @@ msgstr "Utloggad"
2022
  msgid "Logged In"
2023
  msgstr "Inloggad"
2024
 
2025
- #: redirection-strings.php:84 matches/login.php:8
2026
  msgid "URL and login status"
2027
  msgstr "URL och inloggnings-status"
722
  msgid "Count"
723
  msgstr ""
724
 
725
+ #: matches/page.php:9 redirection-strings.php:93
726
  msgid "URL and WordPress page type"
727
  msgstr ""
728
 
729
+ #: matches/ip.php:9 redirection-strings.php:89
730
  msgid "URL and IP"
731
  msgstr "URL och IP"
732
 
850
  msgid "Add New"
851
  msgstr "Lägg till ny"
852
 
853
+ #: matches/user-role.php:9 redirection-strings.php:85
854
  msgid "URL and role/capability"
855
  msgstr "URL och roll/behörighet"
856
 
857
+ #: matches/server.php:9 redirection-strings.php:90
858
  msgid "URL and server"
859
  msgstr "URL och server"
860
 
914
  msgid "If you are using a caching system such as Cloudflare then please read this: "
915
  msgstr "Om du använder ett caching-system som Cloudflare, läs det här:"
916
 
917
+ #: matches/http-header.php:11 redirection-strings.php:91
918
  msgid "URL and HTTP header"
919
  msgstr "URL- och HTTP-sidhuvuden"
920
 
921
+ #: matches/custom-filter.php:9 redirection-strings.php:92
922
  msgid "URL and custom filter"
923
  msgstr "URL och anpassat filter"
924
 
925
+ #: matches/cookie.php:7 redirection-strings.php:88
926
  msgid "URL and cookie"
927
  msgstr "URL och cookie"
928
 
1988
  msgid "User Agent"
1989
  msgstr "Användaragent"
1990
 
1991
+ #: matches/user-agent.php:10 redirection-strings.php:87
1992
  msgid "URL and user agent"
1993
  msgstr "URL och användaragent"
1994
 
1996
  msgid "Target URL"
1997
  msgstr "Mål-URL"
1998
 
1999
+ #: matches/url.php:7 redirection-strings.php:83
2000
  msgid "URL only"
2001
  msgstr "Endast URL"
2002
 
2010
  msgid "Referrer"
2011
  msgstr "Hänvisningsadress"
2012
 
2013
+ #: matches/referrer.php:10 redirection-strings.php:86
2014
  msgid "URL and referrer"
2015
  msgstr "URL och hänvisande webbplats"
2016
 
2022
  msgid "Logged In"
2023
  msgstr "Inloggad"
2024
 
2025
+ #: matches/login.php:8 redirection-strings.php:84
2026
  msgid "URL and login status"
2027
  msgstr "URL och inloggnings-status"
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://redirection.me/donation/
4
  Tags: redirect, htaccess, 301, 404, seo, permalink, apache, nginx, post, admin
5
  Requires at least: 4.6
6
  Tested up to: 5.1.1
7
- Stable tag: 4.2.2
8
  Requires PHP: 5.4
9
  License: GPLv3
10
 
@@ -159,6 +159,9 @@ The plugin works in a similar manner to how WordPress handles permalinks and sho
159
 
160
  == Changelog ==
161
 
 
 
 
162
  = 4.2.2 - 13th Apr 2019 =
163
  * Improve API checking logic
164
  * Fix '1' being logged for pass-through redirects
4
  Tags: redirect, htaccess, 301, 404, seo, permalink, apache, nginx, post, admin
5
  Requires at least: 4.6
6
  Tested up to: 5.1.1
7
+ Stable tag: 4.2.3
8
  Requires PHP: 5.4
9
  License: GPLv3
10
 
159
 
160
  == Changelog ==
161
 
162
+ = 4.2.3 - 16th Apr 2019 =
163
+ * Fix bug with old API routes breaking test
164
+
165
  = 4.2.2 - 13th Apr 2019 =
166
  * Improve API checking logic
167
  * Fix '1' being logged for pass-through redirects
redirection-admin.php CHANGED
@@ -269,7 +269,7 @@ class Redirection_Admin {
269
  }
270
 
271
  private function set_rest_api( $api ) {
272
- if ( $api >= 0 && $api <= REDIRECTION_API_POST ) {
273
  red_set_options( array( 'rest_api' => intval( $api, 10 ) ) );
274
  }
275
  }
269
  }
270
 
271
  private function set_rest_api( $api ) {
272
+ if ( $api >= 0 && $api <= REDIRECTION_API_JSON_RELATIVE ) {
273
  red_set_options( array( 'rest_api' => intval( $api, 10 ) ) );
274
  }
275
  }
redirection-settings.php CHANGED
@@ -3,9 +3,7 @@
3
  define( 'REDIRECTION_OPTION', 'redirection_options' );
4
  define( 'REDIRECTION_API_JSON', 0 );
5
  define( 'REDIRECTION_API_JSON_INDEX', 1 );
6
- define( 'REDIRECTION_API_ADMIN', 2 );
7
  define( 'REDIRECTION_API_JSON_RELATIVE', 3 );
8
- define( 'REDIRECTION_API_POST', 4 );
9
 
10
  function red_get_plugin_data( $plugin ) {
11
  if ( ! function_exists( 'get_plugin_data' ) ) {
@@ -219,7 +217,7 @@ function red_get_options() {
219
  }
220
 
221
  // Back-compat fix
222
- if ( $options['rest_api'] === false ) {
223
  $options['rest_api'] = REDIRECTION_API_JSON;
224
  }
225
 
3
  define( 'REDIRECTION_OPTION', 'redirection_options' );
4
  define( 'REDIRECTION_API_JSON', 0 );
5
  define( 'REDIRECTION_API_JSON_INDEX', 1 );
 
6
  define( 'REDIRECTION_API_JSON_RELATIVE', 3 );
 
7
 
8
  function red_get_plugin_data( $plugin ) {
9
  if ( ! function_exists( 'get_plugin_data' ) ) {
217
  }
218
 
219
  // Back-compat fix
220
+ if ( $options['rest_api'] === false || ! in_array( $options['rest_api'], [ REDIRECTION_API_JSON, REDIRECTION_API_JSON_INDEX, REDIRECTION_API_JSON_RELATIVE ], true ) ) {
221
  $options['rest_api'] = REDIRECTION_API_JSON;
222
  }
223
 
redirection-version.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
 
3
- define( 'REDIRECTION_VERSION', '4.2.2' );
4
- define( 'REDIRECTION_BUILD', 'e0416ca80560a4011025c96bafa6c3a0' );
5
  define( 'REDIRECTION_MIN_WP', '4.5' );
1
  <?php
2
 
3
+ define( 'REDIRECTION_VERSION', '4.2.3' );
4
+ define( 'REDIRECTION_BUILD', '832f7155834bcdc64325009360c6273b' );
5
  define( 'REDIRECTION_MIN_WP', '4.5' );
redirection.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! Redirection v4.2.2 */!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=81)}([function(e,t,n){"use strict";e.exports=n(82)},function(e,t,n){var r=n(86),o=new r;e.exports={numberFormat:o.numberFormat.bind(o),translate:o.translate.bind(o),configure:o.configure.bind(o),setLocale:o.setLocale.bind(o),getLocale:o.getLocale.bind(o),getLocaleSlug:o.getLocaleSlug.bind(o),addTranslations:o.addTranslations.bind(o),reRenderTranslations:o.reRenderTranslations.bind(o),registerComponentUpdateHook:o.registerComponentUpdateHook.bind(o),registerTranslateHook:o.registerTranslateHook.bind(o),state:o.state,stateObserver:o.stateObserver,on:o.stateObserver.on.bind(o.stateObserver),off:o.stateObserver.removeListener.bind(o.stateObserver),emit:o.stateObserver.emit.bind(o.stateObserver),$this:o,I18N:r}},function(e,t,n){e.exports=n(98)()},function(e,t,n){"use strict";(function(e){n.d(t,"b",function(){return i}),n.d(t,"a",function(){return l});var r=n(80),o=void 0!==e?e:{},a=Object(r.a)(o),i=(a.flush,a.hydrate,a.cx,a.merge,a.getRegisteredStyles,a.injectGlobal),l=(a.keyframes,a.css);a.sheet,a.caches}).call(this,n(25))},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var o=(i=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),a=r.sources.map(function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"});return[n].concat(a).concat([o]).join("\n")}var i;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o<this.length;o++){var a=this[o][0];null!=a&&(r[a]=!0)}for(o=0;o<e.length;o++){var i=e[o];null!=i[0]&&r[i[0]]||(n&&!i[2]?i[2]=n:n&&(i[2]="("+i[2]+") and ("+n+")"),t.push(i))}},t}},function(e,t,n){var r,o,a={},i=(r=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===o&&(o=r.apply(this,arguments)),o}),l=function(e){var t={};return function(e,n){if("function"==typeof e)return e();if(void 0===t[e]){var r=function(e,t){return t?t.querySelector(e):document.querySelector(e)}.call(this,e,n);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}}(),u=null,s=0,c=[],p=n(106);function f(e,t){for(var n=0;n<e.length;n++){var r=e[n],o=a[r.id];if(o){o.refs++;for(var i=0;i<o.parts.length;i++)o.parts[i](r.parts[i]);for(;i<r.parts.length;i++)o.parts.push(y(r.parts[i],t))}else{var l=[];for(i=0;i<r.parts.length;i++)l.push(y(r.parts[i],t));a[r.id]={id:r.id,refs:1,parts:l}}}}function d(e,t){for(var n=[],r={},o=0;o<e.length;o++){var a=e[o],i=t.base?a[0]+t.base:a[0],l={css:a[1],media:a[2],sourceMap:a[3]};r[i]?r[i].parts.push(l):n.push(r[i]={id:i,parts:[l]})}return n}function h(e,t){var n=l(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var r=c[c.length-1];if("top"===e.insertAt)r?r.nextSibling?n.insertBefore(t,r.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),c.push(t);else if("bottom"===e.insertAt)n.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var o=l(e.insertAt.before,n);n.insertBefore(t,o)}}function m(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=c.indexOf(e);t>=0&&c.splice(t,1)}function g(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var r=function(){0;return n.nc}();r&&(e.attrs.nonce=r)}return b(t,e.attrs),h(e,t),t}function b(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function y(e,t){var n,r,o,a;if(t.transform&&e.css){if(!(a="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=a}if(t.singleton){var i=s++;n=u||(u=g(t)),r=w.bind(null,n,i,!1),o=w.bind(null,n,i,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",b(t,e.attrs),h(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,a=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||a)&&(r=p(r));o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var i=new Blob([r],{type:"text/css"}),l=e.href;e.href=URL.createObjectURL(i),l&&URL.revokeObjectURL(l)}.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=g(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=i()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=d(e,t);return f(n,t),function(e){for(var r=[],o=0;o<n.length;o++){var i=n[o];(l=a[i.id]).refs--,r.push(l)}e&&f(d(e,t),t);for(o=0;o<r.length;o++){var l;if(0===(l=r[o]).refs){for(var u=0;u<l.parts.length;u++)l.parts[u]();delete a[l.id]}}}};var v,E=(v=[],function(e,t){return v[e]=t,v.filter(Boolean).join("\n")});function w(e,t,n,r){var o=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=E(t,o);else{var a=document.createTextNode(o),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(a,i[t]):e.appendChild(a)}}},function(e,t,n){var r;
2
  /*!
3
  Copyright (c) 2017 Jed Watson.
4
  Licensed under the MIT License (MIT), see
@@ -81,4 +81,4 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
81
 
82
  See the Apache Version 2.0 License for specific language governing permissions
83
  and limitations under the License.
84
- ***************************************************************************** */function Af(e,t,n,r){return new(n||(n=Promise))(function(o,a){function i(e){try{u(r.next(e))}catch(e){a(e)}}function l(e){try{u(r.throw(e))}catch(e){a(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(i,l)}u((r=r.apply(e,t||[])).next())})}function Rf(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(a){return function(l){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}function Df(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}var Nf=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function If(e,t){var n=function(e){var t=e.name;if(t&&-1!==t.lastIndexOf(".")&&!e.type){var n=t.split(".").pop().toLowerCase(),r=Nf.get(n);r&&Object.defineProperty(e,"type",{value:r,writable:!1,configurable:!1,enumerable:!0})}return e}(e),r=e.webkitRelativePath;return Object.defineProperty(n,"path",{value:"string"==typeof t?t:"string"==typeof r&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0}),n}var Ff=[".DS_Store","Thumbs.db"];function Lf(e){return Af(this,void 0,void 0,function(){return Rf(this,function(t){return[2,(n=e,n.dataTransfer&&e.dataTransfer?Uf(e.dataTransfer,e.type):Mf(e))];var n})})}function Mf(e){return(null!==e.target&&e.target.files?zf(e.target.files):[]).map(function(e){return If(e)})}function Uf(e,t){return Af(this,void 0,void 0,function(){var n;return Rf(this,function(r){switch(r.label){case 0:return e.items?(n=zf(e.items).filter(function(e){return"file"===e.kind}),"drop"!==t?[2,n]:[4,Promise.all(n.map(Vf))]):[3,2];case 1:return[2,Bf(Wf(r.sent()))];case 2:return[2,Bf(zf(e.files).map(function(e){return If(e)}))]}})})}function Bf(e){return e.filter(function(e){return-1===Ff.indexOf(e.name)})}function zf(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(r)}return t}function Vf(e){if("function"!=typeof e.webkitGetAsEntry)return Hf(e);var t=e.webkitGetAsEntry();return t&&t.isDirectory?qf(t):Hf(e)}function Wf(e){return e.reduce(function(e,t){return function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(Df(arguments[t]));return e}(e,Array.isArray(t)?Wf(t):[t])},[])}function Hf(e){var t=e.getAsFile();if(!t)return Promise.reject(e+" is not a File");var n=If(t);return Promise.resolve(n)}function Gf(e){return Af(this,void 0,void 0,function(){return Rf(this,function(t){return[2,e.isDirectory?qf(e):$f(e)]})})}function qf(e){var t=e.createReader();return new Promise(function(e,n){var r=[];!function o(){var a=this;t.readEntries(function(t){return Af(a,void 0,void 0,function(){var a,i,l;return Rf(this,function(u){switch(u.label){case 0:if(t.length)return[3,5];u.label=1;case 1:return u.trys.push([1,3,,4]),[4,Promise.all(r)];case 2:return a=u.sent(),e(a),[3,4];case 3:return i=u.sent(),n(i),[3,4];case 4:return[3,6];case 5:l=Promise.all(t.map(Gf)),r.push(l),o(),u.label=6;case 6:return[2]}})})},function(e){n(e)})}()})}function $f(e){return Af(this,void 0,void 0,function(){return Rf(this,function(t){return[2,new Promise(function(t,n){e.file(function(n){var r=If(n,e.fullPath);t(r)},function(e){n(e)})})]})})}var Yf=n(78),Kf=n.n(Yf);var Qf="undefined"!=typeof document&&"multiple"in document.createElement("input");function Xf(e,t){return"application/x-moz-file"===e.type||Kf()(e,t)}function Jf(e){return"function"==typeof e.isPropagationStopped?e.isPropagationStopped():void 0!==e.cancelBubble&&e.cancelBubble}function Zf(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(e){return"Files"===e||"application/x-moz-file"===e}):!!e.target&&!!e.target.files}function ed(e){e.preventDefault()}function td(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return t.some(function(t){return!Jf(e)&&t&&t.apply(void 0,[e].concat(r)),Jf(e)})}}function nd(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function rd(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,a=void 0;try{for(var i,l=e[Symbol.iterator]();!(r=(i=l.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw a}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function od(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){ad(e,t,n[t])})}return e}function ad(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function id(e){return(id="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ld(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ud=Object(S.forwardRef)(function(e,t){var n=e.children,r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.accept,n=e.disabled,r=void 0!==n&&n,o=e.getFilesFromEvent,a=void 0===o?Lf:o,i=e.maxSize,l=void 0===i?1/0:i,u=e.minSize,s=void 0===u?0:u,c=e.multiple,p=void 0===c||c,f=e.onDragEnter,d=e.onDragLeave,h=e.onDragOver,m=e.onDrop,g=e.onDropAccepted,b=e.onDropRejected,y=e.onFileDialogCancel,v=e.preventDropOnDocument,E=void 0===v||v,w=Object(S.useRef)(null),O=Object(S.useRef)(null),x=rd(Object(S.useReducer)(pd,cd),2),k=x[0],_=x[1],C=k.isFocused,j=k.isFileDialogActive,P=k.draggedFiles,T=function(){O.current&&(_({type:"openDialog"}),O.current.value=null,O.current.click())},A=function(){j&&setTimeout(function(){if(O.current){var e=O.current.files;e.length||(_({type:"closeDialog"}),"function"==typeof y&&y())}},300)};Object(S.useEffect)(function(){return window.addEventListener("focus",A,!1),function(){window.removeEventListener("focus",A,!1)}},[O,j,y]);var R=Object(S.useCallback)(function(e){w.current&&w.current.isEqualNode(e.target)&&(32!==e.keyCode&&13!==e.keyCode||(e.preventDefault(),T()))},[w,O]),D=Object(S.useCallback)(function(){_({type:"focus"})},[]),N=Object(S.useCallback)(function(){_({type:"blur"})},[]),I=Object(S.useCallback)(function(){!function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator.userAgent;return function(e){return-1!==e.indexOf("MSIE")||-1!==e.indexOf("Trident/")}(e)||function(e){return-1!==e.indexOf("Edge/")}(e)}()?T():setTimeout(T,0)},[O]),F=rd(Object(S.useState)([]),2),L=F[0],M=F[1],U=function(e){w.current&&w.current.contains(e.target)||(e.preventDefault(),M([]))};Object(S.useEffect)(function(){return E&&(document.addEventListener("dragover",ed,!1),document.addEventListener("drop",U,!1)),function(){E&&(document.removeEventListener("dragover",ed),document.removeEventListener("drop",U))}},[w,E]);var B=Object(S.useCallback)(function(e){e.preventDefault(),e.persist(),-1===L.indexOf(e.target)&&M([].concat(nd(L),[e.target])),Zf(e)&&Promise.resolve(a(e)).then(function(t){Jf(e)||(_({draggedFiles:t,type:"setDraggedFiles"}),f&&f(e))})},[L,a,f]),z=Object(S.useCallback)(function(e){if(e.preventDefault(),e.persist(),e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(e){}return Zf(e)&&h&&h(e),!1},[h]),V=Object(S.useCallback)(function(e){e.preventDefault(),e.persist();var t=nd(L.filter(function(t){return t!==e.target&&w.current&&w.current.contains(t)}));M(t),t.length>0||(_({type:"setDraggedFiles",draggedFiles:[]}),Zf(e)&&d&&d(e))},[w,L,d]),W=Object(S.useCallback)(function(e){e.preventDefault(),e.persist(),M([]),_({type:"reset"}),Zf(e)&&Promise.resolve(a(e)).then(function(n){if(!Jf(e)){var r=[],o=[];n.forEach(function(e){Xf(e,t)&&function(e,t,n){return e.size<=t&&e.size>=n}(e,l,s)?r.push(e):o.push(e)}),!p&&r.length>1&&o.push.apply(o,nd(r.splice(0))),_({acceptedFiles:r,rejectedFiles:o,type:"setFiles"}),m&&m(r,o,e),o.length>0&&b&&b(o,e),r.length>0&&g&&g(r,e)}})},[p,t,s,l,a,m,g,b]),H=function(e){return r?null:e},G=Object(S.useMemo)(function(){return function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.refKey,o=void 0===n?"ref":n,a=t.onKeyDown,i=t.onFocus,l=t.onBlur,u=t.onClick,s=t.onDragEnter,c=t.onDragOver,p=t.onDragLeave,f=t.onDrop,d=ld(t,["refKey","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"]);return od((ad(e={onKeyDown:H(td(a,R)),onFocus:H(td(i,D)),onBlur:H(td(l,N)),onClick:H(td(u,I)),onDragEnter:H(td(s,B)),onDragOver:H(td(c,z)),onDragLeave:H(td(p,V)),onDrop:H(td(f,W))},o,w),ad(e,"tabIndex",r?-1:0),e),d)}},[w,R,D,N,I,B,z,V,W,r]),q=Object(S.useCallback)(function(e){e.stopPropagation()},[]),$=Object(S.useMemo)(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.refKey,r=void 0===n?"ref":n,o=e.onChange,a=e.onClick,i=ld(e,["refKey","onChange","onClick"]),l=ad({accept:t,type:"file",style:{display:"none"},multiple:Qf&&p,onChange:H(td(o,W)),onClick:H(td(a,q)),autoComplete:"off",tabIndex:-1},r,O);return od({},l,i)}},[O,t,p,W,r]),Y=P.length,K=p||Y<=1,Q=Y>0&&function(e,t){return e.every(function(e){return Xf(e,t)})}(P,t);return od({},k,{isDragAccept:Q,isDragReject:Y>0&&(!Q||!K),isFocused:C&&!r,getRootProps:G,getInputProps:$,rootRef:w,inputRef:O,open:H(T)})}(ld(e,["children"])),o=r.open,a=ld(r,["open"]);return Object(S.useEffect)(function(){return"function"==typeof t?t({open:o}):"object"===id(t)&&null!==t&&(t.current={open:o}),function(){"function"==typeof t?t(null):"object"===id(t)&&null!==t&&(t.current=null)}}),k.a.createElement(S.Fragment,null,n(od({},a,{open:o})))});ud.displayName="Dropzone",ud.propTypes={children:R.a.func,accept:R.a.oneOfType([R.a.string,R.a.arrayOf(R.a.string)]),multiple:R.a.bool,preventDropOnDocument:R.a.bool,minSize:R.a.number,maxSize:R.a.number,disabled:R.a.bool,getFilesFromEvent:R.a.func,onFileDialogCancel:R.a.func,onDragEnter:R.a.func,onDragLeave:R.a.func,onDragOver:R.a.func,onDrop:R.a.func,onDropAccepted:R.a.func,onDropRejected:R.a.func};var sd=ud,cd={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]};function pd(e,t){switch(t.type){case"focus":return od({},e,{isFocused:!0});case"blur":return od({},e,{isFocused:!1});case"openDialog":return od({},e,{isFileDialogActive:!0});case"closeDialog":return od({},e,{isFileDialogActive:!1});case"setDraggedFiles":var n=t.draggedFiles;return od({},e,{draggedFiles:n,isDragActive:n.length>0});case"setFiles":return od({},e,{acceptedFiles:t.acceptedFiles,rejectedFiles:t.rejectedFiles});case"reset":return od({},e,{isFileDialogActive:!1,isDragActive:!1,draggedFiles:[]});default:return e}}var fd=function(e,t){return function(n){return It(jt.export.file(e,t)).then(function(e){n({type:hn,data:e.data})}).catch(function(e){n({type:yn,error:e})}),n({type:mn})}},dd=function(e){return document.location.href=e,{type:"NOTHING"}},hd=function(e,t){return function(n){return It(jt.import.upload(t,e)).then(function(e){n({type:bn,total:e.imported})}).catch(function(e){n({type:yn,error:e})}),n({type:gn,file:e})}},md=function(){return{type:vn}},gd=function(e){return{type:En,file:e}},bd=function(){return function(e){It(jt.import.pluginList()).then(function(t){e({type:wn,importers:t.importers})}).catch(function(t){e({type:yn,error:t})})}},yd=function(e){return function(t){return It(jt.import.pluginImport(e)).then(function(e){t({type:bn,total:e.imported})}).catch(function(e){t({type:yn,error:e})}),t({type:gn})}},vd=function(e,t){return Redirectioni10n.pluginRoot+"&sub=io&export="+e+"&exporter="+t+"&_wpnonce="+Ot()},Ed=function(e){var t=e.plugin,n=e.doImport,r=t.name,o=t.total;return k.a.createElement("div",{className:"plugin-importer"},k.a.createElement("p",null,k.a.createElement("strong",null,r)," (",Object(j.translate)("total = ")+o," )"),k.a.createElement("button",{onClick:function(){n(t)},className:"button-secondary"},Object(j.translate)("Import from %s",{args:r})))};n(144);function wd(e){return(wd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Od(){return(Od=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function xd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Sd(e){return(Sd=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function kd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _d(e,t){return(_d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Cd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var jd=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Sd(t).call(this,e),n=!o||"object"!==wd(o)&&"function"!=typeof o?kd(r):o,Cd(kd(n),"onView",function(){n.props.onExport(n.state.module,n.state.format)}),Cd(kd(n),"onDownload",function(){n.props.onDownloadFile(vd(n.state.module,n.state.format))}),Cd(kd(n),"onEnter",function(){n.props.io.importingStatus!==Be&&n.setState({hover:!0})}),Cd(kd(n),"onLeave",function(){n.setState({hover:!1})}),Cd(kd(n),"onImport",function(){n.props.onImport(n.props.io.file,n.state.group)}),Cd(kd(n),"onCancel",function(){n.setState({hover:!1}),n.props.onClearFile()}),Cd(kd(n),"onInput",function(e){var t=e.target;n.setState(Cd({},t.name,t.value)),"module"===t.name&&"everything"===t.value&&n.setState({format:"json"})}),Cd(kd(n),"onDrop",function(e){var t=n.props.io.importingStatus;e.length>0&&t!==Be&&n.props.onAddFile(e[0]),n.setState({hover:!1,group:n.props.group.rows[0].id})}),Cd(kd(n),"doImport",function(e){confirm(Object(j.translate)("Are you sure you want to import from %s?",{args:e.name}))&&n.props.pluginImport(e.id)}),n.props.onLoadGroups(),n.props.onLoadImport(),n.state={group:0,hover:!1,module:"all",format:"json"},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_d(e,t)}(t,k.a.Component),n=t,(r=[{key:"renderGroupSelect",value:function(){var e=this.props.group.rows;return k.a.createElement("div",{className:"groups"},Object(j.translate)("Import to group")," ",k.a.createElement(Tr,{items:lc(e),name:"group",value:this.state.group,onChange:this.onInput}))}},{key:"renderInitialDrop",value:function(e){return k.a.createElement(k.a.Fragment,null,k.a.createElement("h3",null,Object(j.translate)("Import a CSV, .htaccess, or JSON file.")),k.a.createElement("p",null,Object(j.translate)("Click 'Add File' or drag and drop here.")),k.a.createElement("button",{type:"button",className:"button-secondary",onClick:e},Object(j.translate)("Add File")))}},{key:"renderDropBeforeUpload",value:function(){var e=this.props.io.file,t="application/json"===e.type;return k.a.createElement(k.a.Fragment,null,k.a.createElement("h3",null,Object(j.translate)("File selected")),k.a.createElement("p",null,k.a.createElement("code",null,e.name)),!t&&this.renderGroupSelect(),k.a.createElement("button",{className:"button-primary",onClick:this.onImport},Object(j.translate)("Upload")),"  ",k.a.createElement("button",{className:"button-secondary",onClick:this.onCancel},Object(j.translate)("Cancel")))}},{key:"renderUploading",value:function(){var e=this.props.io.file;return k.a.createElement(k.a.Fragment,null,k.a.createElement("h3",null,Object(j.translate)("Importing")),k.a.createElement("p",null,k.a.createElement("code",null,e.name)),k.a.createElement("div",{className:"is-placeholder"},k.a.createElement("div",{className:"placeholder-loading"})))}},{key:"renderUploaded",value:function(){var e=this.props.io.lastImport;return k.a.createElement(k.a.Fragment,null,k.a.createElement("h3",null,Object(j.translate)("Finished importing")),k.a.createElement("p",null,Object(j.translate)("Total redirects imported:")," ",e),0===e&&k.a.createElement("p",null,Object(j.translate)("Double-check the file is the correct format!")),k.a.createElement("button",{className:"button-secondary",onClick:this.onCancel},Object(j.translate)("OK")))}},{key:"renderDropzoneContent",value:function(e){var t,n=e.getInputProps,r=e.getRootProps,o=this.state.hover,a=this.props.io,i=a.importingStatus,l=a.file,u=a.lastImport,s=Wr()({dropzone:!0,"dropzone-dropped":!1!==l,"dropzone-importing":i===Be,"dropzone-hover":o}),c=r({onClick:function(e){return e.stopPropagation()},onKeyDown:function(e){32!==e.keyCode&&13!==e.keyCode||e.stopPropagation()}});return t=i===Be?this.renderUploading():i===Ve&&!1!==u&&!1===l?this.renderUploaded():!1===l?this.renderInitialDrop(e.open):this.renderDropBeforeUpload(),k.a.createElement("div",Od({className:s},c),k.a.createElement("input",n()),t)}},{key:"renderExport",value:function(e){return k.a.createElement("div",null,k.a.createElement("textarea",{className:"module-export",rows:"14",readOnly:!0,value:e}),k.a.createElement("input",{className:"button-secondary",type:"submit",value:Object(j.translate)("Close"),onClick:this.onCancel}))}},{key:"renderExporting",value:function(){return k.a.createElement("div",{className:"loader-wrapper loader-textarea"},k.a.createElement("div",{className:"placeholder-loading"}))}},{key:"renderImporters",value:function(e){var t=this;return k.a.createElement("div",null,k.a.createElement("h3",null,Object(j.translate)("Plugin Importers")),k.a.createElement("p",null,Object(j.translate)("The following redirect plugins were detected on your site and can be imported from.")),e.map(function(e,n){return k.a.createElement(Ed,{plugin:e,key:n,doImport:t.doImport})}))}},{key:"render",value:function(){var e=this,t=this.props.io,n=t.exportData,r=t.exportStatus,o=t.importers;return k.a.createElement("div",{className:"import"},k.a.createElement("h2",null,Object(j.translate)("Import")),k.a.createElement(sd,{multiple:!1,onDrop:this.onDrop,onDragLeave:this.onLeave,onDragEnter:this.onEnter},function(t){return e.renderDropzoneContent(t)}),k.a.createElement("p",null,Object(j.translate)("All imports will be appended to the current database - nothing is merged.")),k.a.createElement("div",{className:"inline-notice notice-warning"},k.a.createElement("p",null,Object(j.translate)("{{strong}}CSV file format{{/strong}}: {{code}}source URL, target URL{{/code}} - and can be optionally followed with {{code}}regex, http code{{/code}} ({{code}}regex{{/code}} - 0 for no, 1 for yes).",{components:{code:k.a.createElement("code",null),strong:k.a.createElement("strong",null)}})),k.a.createElement("p",null,Object(j.translate)('CSV does not include all information, and everything is imported/exported as "URL only" matches. Use the JSON format for a full set of data.'))),k.a.createElement("h2",null,Object(j.translate)("Export")),k.a.createElement("p",null,Object(j.translate)("Export to CSV, Apache .htaccess, Nginx, or Redirection JSON. The JSON format contains full information, and other formats contain partial information appropriate to the format.")),k.a.createElement("select",{name:"module",onChange:this.onInput,value:this.state.module},k.a.createElement("option",{value:"0"},Object(j.translate)("Everything")),k.a.createElement("option",{value:"1"},Object(j.translate)("WordPress redirects")),k.a.createElement("option",{value:"2"},Object(j.translate)("Apache redirects")),k.a.createElement("option",{value:"3"},Object(j.translate)("Nginx redirects"))),k.a.createElement("select",{name:"format",onChange:this.onInput,value:this.state.format},k.a.createElement("option",{value:"json"},Object(j.translate)("Complete data (JSON)")),k.a.createElement("option",{value:"csv"},Object(j.translate)("CSV")),k.a.createElement("option",{value:"apache"},Object(j.translate)("Apache .htaccess")),k.a.createElement("option",{value:"nginx"},Object(j.translate)("Nginx rewrite rules")))," ",k.a.createElement("button",{className:"button-primary",onClick:this.onView},Object(j.translate)("View"))," ",k.a.createElement("button",{className:"button-secondary",onClick:this.onDownload},Object(j.translate)("Download")),r===Be&&this.renderExporting(),n&&r!==Be&&this.renderExport(n),k.a.createElement("h2",null,"Export Logs"),k.a.createElement(si,{logType:"log",title:Object(j.translate)("Export redirect")}),k.a.createElement("br",null),k.a.createElement(si,{logType:"404",title:Object(j.translate)("Export 404")}),o.length>0&&this.renderImporters(o))}}])&&xd(n.prototype,r),o&&xd(n,o),t}();var Pd=ve(function(e){return{group:e.group,io:e.io}},function(e){return{onLoadGroups:function(){e(hf())},onImport:function(t,n){e(hd(t,n))},onAddFile:function(t){e(gd(t))},onClearFile:function(){e(md())},onExport:function(t,n){e(fd(t,n))},onDownloadFile:function(t){e(dd(t))},onLoadImport:function(){e(bd())},pluginImport:function(t){e(yd(t))}}})(jd);function Td(e){return(Td="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ad(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Rd(e){return(Rd=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Dd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nd(e,t){return(Nd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Id(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Fd=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Rd(t).call(this,e),n=!o||"object"!==Td(o)&&"function"!=typeof o?Dd(r):o,Id(Dd(n),"onChange",function(e){n.setState({selected:e.target.value})}),Id(Dd(n),"onSubmit",function(){n.props.onFilter(n.state.selected)}),n.state={selected:e.selected},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Nd(e,t)}(t,k.a.Component),n=t,(r=[{key:"render",value:function(){var e=this.props,t=e.options,n=e.isEnabled;return k.a.createElement("div",{className:"alignleft actions"},k.a.createElement(Tr,{items:t,value:this.state.selected,name:"filter",onChange:this.onChange,isEnabled:n}),k.a.createElement("button",{className:"button",onClick:this.onSubmit,disabled:!n},Object(j.translate)("Filter")))}}])&&Ad(n.prototype,r),o&&Ad(n,o),t}();function Ld(e){return(Ld="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Md(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ud(e){return(Ud=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Bd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zd(e,t){return(zd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Vd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Wd=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Ud(t).call(this,e),n=!o||"object"!==Ld(o)&&"function"!=typeof o?Bd(r):o,Vd(Bd(n),"onEdit",function(e){e.preventDefault(),n.setState({editing:!n.state.editing})}),Vd(Bd(n),"onDelete",function(e){e.preventDefault(),n.props.onTableAction("delete",n.props.item.id)}),Vd(Bd(n),"onDisable",function(e){e.preventDefault(),n.props.onTableAction("disable",n.props.item.id)}),Vd(Bd(n),"onEnable",function(e){e.preventDefault(),n.props.onTableAction("enable",n.props.item.id)}),Vd(Bd(n),"onSelected",function(){n.props.onSetSelected([n.props.item.id])}),Vd(Bd(n),"onChange",function(e){var t=e.target;n.setState({name:t.value})}),Vd(Bd(n),"onSave",function(e){n.onEdit(e),n.props.onSaveGroup(n.props.item.id,{name:n.state.name,moduleId:n.state.moduleId})}),Vd(Bd(n),"onSelect",function(e){var t=e.target;n.setState({moduleId:parseInt(t.value,10)})}),n.state={editing:!1,name:e.item.name,moduleId:e.item.module_id},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&zd(e,t)}(t,k.a.Component),n=t,(r=[{key:"renderLoader",value:function(){return k.a.createElement("div",{className:"loader-wrapper"},k.a.createElement("div",{className:"placeholder-loading loading-small",style:{top:"0px"}}))}},{key:"renderActions",value:function(e){var t=this.props.item,n=t.id,r=t.enabled;return k.a.createElement(pi,{disabled:e},k.a.createElement("a",{href:"#",onClick:this.onEdit},Object(j.translate)("Edit"))," | ",k.a.createElement("a",{href:"#",onClick:this.onDelete},Object(j.translate)("Delete"))," | ",k.a.createElement("a",{href:Redirectioni10n.pluginRoot+"&filterby=group&filter="+n},Object(j.translate)("View Redirects"))," | ",r&&k.a.createElement("a",{href:"#",onClick:this.onDisable},Object(j.translate)("Disable")),!r&&k.a.createElement("a",{href:"#",onClick:this.onEnable},Object(j.translate)("Enable")))}},{key:"renderEdit",value:function(){return k.a.createElement("form",{onSubmit:this.onSave},k.a.createElement("table",{className:"edit-groups"},k.a.createElement("tbody",null,k.a.createElement("tr",null,k.a.createElement("th",{width:"70"},Object(j.translate)("Name")),k.a.createElement("td",null,k.a.createElement("input",{type:"text",name:"name",value:this.state.name,onChange:this.onChange}))),k.a.createElement("tr",null,k.a.createElement("th",{width:"70"},Object(j.translate)("Module")),k.a.createElement("td",null,k.a.createElement(Tr,{name:"module_id",value:this.state.moduleId,onChange:this.onSelect,items:[{value:1,text:"WordPress"},{value:2,text:"Apache"},{value:3,text:"Nginx"}]}))),k.a.createElement("tr",null,k.a.createElement("th",{width:"70"}),k.a.createElement("td",null,k.a.createElement("div",{className:"table-actions"},k.a.createElement("input",{className:"button-primary",type:"submit",name:"save",value:Object(j.translate)("Save")}),"  ",k.a.createElement("input",{className:"button-secondary",type:"submit",name:"cancel",value:Object(j.translate)("Cancel"),onClick:this.onEdit})),2===parseInt(this.state.moduleId,10)&&k.a.createElement("p",null,k.a.createElement("br",null),Object(j.translate)("Note that you will need to set the Apache module path in your Redirection options.")))))))}},{key:"getName",value:function(e,t){return t?e:k.a.createElement("strike",null,e)}},{key:"render",value:function(){var e,t,n=this.props.item,r=n.name,o=n.redirects,a=n.id,i=n.module_id,l=n.enabled,u=this.props,s=u.selected,c=u.status,p=c===Be,f=c===We,d=!l||p||f;return k.a.createElement("tr",{className:d?"disabled":""},k.a.createElement("th",{scope:"row",className:"check-column"},!f&&k.a.createElement("input",{type:"checkbox",name:"item[]",value:a,disabled:p,checked:s,onChange:this.onSelected}),f&&k.a.createElement(ko,{size:"small"})),k.a.createElement("td",{className:"column-primary column-name"},!this.state.editing&&this.getName(r,l),this.state.editing?this.renderEdit():this.renderActions(f)),k.a.createElement("td",{className:"column-redirects"},o),k.a.createElement("td",{className:"column-module"},(e=i,(t=[{value:1,text:"WordPress"},{value:2,text:"Apache"},{value:3,text:"Nginx"}].find(function(t){return t.value===parseInt(e,10)}))?t.text:"")))}}])&&Md(n.prototype,r),o&&Md(n,o),t}();var Hd=ve(null,function(e){return{onSetSelected:function(t){e(vf(t))},onSaveGroup:function(t,n){e(ff(t,n))},onTableAction:function(t,n){e(df(t,n))}}})(Wd);function Gd(e){return(Gd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function qd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function $d(e){return($d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Yd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Kd(e,t){return(Kd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Xd=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=$d(t).call(this,e),n=!o||"object"!==Gd(o)&&"function"!=typeof o?Yd(r):o,Qd(Yd(n),"onRenderRow",function(e,t,r){var o=n.props.group.saving,a=r.isLoading?Be:Ve,i=-1!==o.indexOf(e.id)?We:a;return k.a.createElement(Hd,{item:e,key:t,selected:r.isSelected,status:i})}),Qd(Yd(n),"onChange",function(e){n.setState({name:e.target.value})}),Qd(Yd(n),"onModule",function(e){n.setState({moduleId:e.target.value})}),Qd(Yd(n),"onSubmit",function(e){e.preventDefault(),n.props.onCreate({id:0,name:n.state.name,moduleId:n.state.moduleId}),n.setState({name:""})}),n.props.onLoadGroups(),n.state={name:"",moduleId:1},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Kd(e,t)}(t,k.a.Component),n=t,(r=[{key:"getModules",value:function(){return[{value:"",text:Object(j.translate)("All modules")}].concat([{value:1,text:"WordPress"},{value:2,text:"Apache"},{value:3,text:"Nginx"}])}},{key:"render",value:function(){var e=this.props.group,t=e.status,n=e.total,r=e.table,o=e.rows,a=-1!==e.saving.indexOf(0);return k.a.createElement("div",null,k.a.createElement(ni,{status:t,table:r,onSearch:this.props.onSearch,ignoreFilter:["module"],key:bt(r)}),k.a.createElement(Qa,{total:n,selected:r.selected,table:r,onChangePage:this.props.onChangePage,onAction:this.props.onAction,status:t,bulk:[{id:"delete",name:Object(j.translate)("Delete")},{id:"enable",name:Object(j.translate)("Enable")},{id:"disable",name:Object(j.translate)("Disable")}]},k.a.createElement(Fd,{selected:r.filter,options:this.getModules(),onFilter:this.props.onFilter,isEnabled:!0,key:bt(r)})),k.a.createElement(Ra,{headers:[{name:"cb",check:!0},{name:"name",title:Object(j.translate)("Name"),primary:!0},{name:"redirects",title:Object(j.translate)("Redirects"),sortable:!1},{name:"module",title:Object(j.translate)("Module"),sortable:!1}],rows:o,total:n,row:this.onRenderRow,table:r,status:t,onSetAllSelected:this.props.onSetAllSelected,onSetOrderBy:this.props.onSetOrderBy}),k.a.createElement(Qa,{total:n,selected:r.selected,table:r,onChangePage:this.props.onChangePage,onAction:this.props.onAction,status:t}),k.a.createElement("h2",null,Object(j.translate)("Add Group")),k.a.createElement("p",null,Object(j.translate)("Use groups to organise your redirects. Groups are assigned to a module, which affects how the redirects in that group work. If you are unsure then stick to the WordPress module.")),k.a.createElement("form",{onSubmit:this.onSubmit},k.a.createElement("table",{className:"form-table"},k.a.createElement("tbody",null,k.a.createElement("tr",null,k.a.createElement("th",{style:{width:"50px"}},Object(j.translate)("Name")),k.a.createElement("td",null,k.a.createElement("input",{size:"30",className:"regular-text",type:"text",name:"name",value:this.state.name,onChange:this.onChange,disabled:a}),k.a.createElement(Tr,{name:"id",value:this.state.moduleId,onChange:this.onModule,items:[{value:1,text:"WordPress"},{value:2,text:"Apache"},{value:3,text:"Nginx"}],disabled:a})," ",k.a.createElement("input",{className:"button-primary",type:"submit",name:"add",value:"Add",disabled:a||""===this.state.name}))))),2===parseInt(this.state.moduleId,10)&&k.a.createElement("p",null,Object(j.translate)("Note that you will need to set the Apache module path in your Redirection options."))))}}])&&qd(n.prototype,r),o&&qd(n,o),t}();var Jd=ve(function(e){return{group:e.group}},function(e){return{onLoadGroups:function(){e(hf())},onSearch:function(t){e(bf(t))},onChangePage:function(t){e(gf(t))},onAction:function(t){e(df(t))},onSetAllSelected:function(t){e(Ef(t))},onSetOrderBy:function(t,n){e(mf(t,n))},onFilter:function(t){e(yf("module",t))},onCreate:function(t){e(pf(t))}}})(Xd),Zd=function(e){var t=e.item,n=t.action_code,r=t.action_data,o=e.http,a=o.status,i=o.headers,l=void 0===i?[]:i,u=l.find(function(e){return"location"===e.name}),s=l.find(function(e){return"x-redirect-agent"===e.name}),c=n===a&&u&&u.value===r.url&&s,p=r.url_from?r.url_from:r.url;return k.a.createElement("div",{className:"redirection-httpcheck_results"},k.a.createElement("div",{className:"redirection-httpcheck_status"},c&&k.a.createElement("span",{className:"dashicons dashicons-yes"}),!c&&k.a.createElement("span",{className:"dashicons dashicons-no"})),k.a.createElement("div",{className:"redirection-httpcheck_info"},k.a.createElement("p",null,k.a.createElement("strong",null,Object(j.translate)("Expected"),": "),k.a.createElement("span",null,Object(j.translate)("{{code}}%(status)d{{/code}} to {{code}}%(target)s{{/code}}",{args:{status:n,target:p},components:{code:k.a.createElement("code",null)}}))),k.a.createElement("p",null,k.a.createElement("strong",null,Object(j.translate)("Found"),": "),k.a.createElement("span",null,u?Object(j.translate)("{{code}}%(status)d{{/code}} to {{code}}%(url)s{{/code}}",{args:{status:a,url:u.value},components:{code:k.a.createElement("code",null)}}):a)),k.a.createElement("p",null,k.a.createElement("strong",null,Object(j.translate)("Agent"),": "),k.a.createElement("span",null,s?Object(j.translate)("Using Redirection"):Object(j.translate)("Not using Redirection"))),u&&!s&&k.a.createElement("p",null,k.a.createElement(Ar,{url:"https://redirection.me/support/problems/url-not-redirecting/"},Object(j.translate)("What does this mean?")))))};n(146);function eh(e){return(eh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function th(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function nh(e,t){return!t||"object"!==eh(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function rh(e){return(rh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function oh(e,t){return(oh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ah=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(n=nh(this,rh(t).call(this,e))).props.onGet((r=n.getServer(e.item),o=e.item.url,r.replace(/\/$/,"")+"/"+o.replace(/^\//,""))),n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&oh(e,t)}(t,k.a.Component),n=t,(r=[{key:"getServer",value:function(e){return"server"===e.match_type?e.action_data.server:document.location.origin}},{key:"componentWillUnmount",value:function(){this.props.onClearHttp()}},{key:"renderError",value:function(){var e=this.props.error;return k.a.createElement("div",{className:"redirection-modal_error"},k.a.createElement("h2",null,Object(j.translate)("Error")),k.a.createElement("p",null,Object(j.translate)("Something went wrong obtaining this information")),k.a.createElement("p",null,k.a.createElement("code",null,e.message)))}},{key:"componentDidUpdate",value:function(){this.props.parent.resize()}},{key:"render",value:function(){var e=this.props,t=e.status,n=e.http,r=e.item,o=Wr()({"redirection-httpcheck":!0,"redirection-modal_loading":t===Be,"redirection-httpcheck_small":t===ze});return k.a.createElement("div",{className:o},t===Be&&k.a.createElement(ko,null),t===ze&&this.renderError(),t===Ve&&n&&k.a.createElement(k.a.Fragment,null,k.a.createElement("h2",null,Object(j.translate)("Check redirect for: {{code}}%s{{/code}}",{args:[n.url],components:{code:k.a.createElement("code",null)}})),k.a.createElement(Zd,{http:n,item:r}),k.a.createElement(_i,null)))}}])&&th(n.prototype,r),o&&th(n,o),t}();var ih=ve(function(e){var t=e.info;return{status:t.status,error:t.error,http:t.http}},function(e){return{onGet:function(t){e(xo(t))},onClearHttp:function(){e(So())}}})(ah);function lh(e){return(lh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function uh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function sh(e){return(sh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ch(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ph(e,t){return(ph=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function fh(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var dh=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=sh(t).call(this,e),n=!o||"object"!==lh(o)&&"function"!=typeof o?ch(r):o,fh(ch(n),"onEdit",function(e){e.preventDefault(),n.setState({editing:!0})}),fh(ch(n),"onCancel",function(e){e.preventDefault(),n.setState({editing:!1})}),fh(ch(n),"onDelete",function(e){e.preventDefault(),n.props.onTableAction("delete",n.props.item.id)}),fh(ch(n),"onDisable",function(e){e.preventDefault(),n.props.onTableAction("disable",n.props.item.id)}),fh(ch(n),"onEnable",function(e){e.preventDefault(),n.props.onTableAction("enable",n.props.item.id)}),fh(ch(n),"onSelected",function(){n.props.onSetSelected([n.props.item.id])}),fh(ch(n),"onCheck",function(e){e.preventDefault(),n.setState({showCheck:!0})}),fh(ch(n),"closeCheck",function(){n.setState({showCheck:!1})}),n.state={editing:!1,showCheck:!1},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ph(e,t)}(t,k.a.Component),n=t,(r=[{key:"getMenu",value:function(){var e=this.props.item,t=e.enabled,n=e.regex,r=e.action_type,o=[];return t&&o.push([Object(j.translate)("Edit"),this.onEdit]),o.push([Object(j.translate)("Delete"),this.onDelete]),t?(o.push([Object(j.translate)("Disable"),this.onDisable]),n||"url"!==r||o.push([Object(j.translate)("Check Redirect"),this.onCheck])):o.push([Object(j.translate)("Enable"),this.onEnable]),o.map(function(e,t){return k.a.createElement("a",{key:t,href:"#",onClick:e[1]},e[0])}).reduce(function(e,t){return[e," | ",t]})}},{key:"getCode",value:function(){var e=this.props.item,t=e.action_code,n=e.action_type;return"pass"===n?Object(j.translate)("pass"):"nothing"===n?"-":t}},{key:"getTarget",value:function(){var e=this.props.item,t=e.match_type,n=e.action_data;return t===Ms?n.url:null}},{key:"getServerUrl",value:function(e,t){return"server"===t?this.props.item.action_data.server+e:e}},{key:"getUrl",value:function(e,t){return e=this.getServerUrl(e,t),this.props.item.enabled?e:k.a.createElement("strike",null,e)}},{key:"getName",value:function(e,t){var n=this.props.item,r=n.regex,o=n.match_type;if(t)return this.props.item.enabled?t:k.a.createElement("strike",null,t);var a=this.getUrl(e,o);return r?a:k.a.createElement(Ar,{url:this.getServerUrl(e,o)},a)}},{key:"renderSource",value:function(e,t,n){var r=this.getName(e,t);return k.a.createElement("td",{className:"column-primary column-url has-row-actions"},r,k.a.createElement("br",null),k.a.createElement("span",{className:"target"},this.getTarget()),k.a.createElement(pi,{disabled:n},this.getMenu()))}},{key:"renderEditColumns",value:function(){return k.a.createElement("td",{className:"column-primary column-url",colSpan:"4"},k.a.createElement(Pp,{item:this.props.item,onCancel:this.onCancel}))}},{key:"renderCheck",value:function(){return k.a.createElement(Xr,{onClose:this.closeCheck,padding:!1},k.a.createElement(ih,{item:this.props.item}))}},{key:"renderViewColumns",value:function(e){var t=this.props.item,n=t.url,r=t.hits,o=t.last_access,a=t.title,i=t.position;return k.a.createElement(k.a.Fragment,null,this.renderSource(n,a,e),k.a.createElement("td",{className:"column-position"},Object(j.numberFormat)(i),this.state.showCheck&&this.renderCheck()),k.a.createElement("td",{className:"column-last_count"},Object(j.numberFormat)(r)),k.a.createElement("td",{className:"column_last_access"},o))}},{key:"render",value:function(){var e=this.props.item,t=e.id,n=e.enabled,r=this.props,o=r.selected,a=r.status,i=a===Be,l=a===We,u=!n||i||l,s=Wr()({disabled:u});return k.a.createElement("tr",{className:s},k.a.createElement("th",{scope:"row",className:"check-column"},!l&&k.a.createElement("input",{type:"checkbox",name:"item[]",value:t,disabled:i,checked:o,onChange:this.onSelected}),l&&k.a.createElement(ko,{size:"small"})),k.a.createElement("td",{className:"column-code"},this.getCode()),this.state.editing?this.renderEditColumns():this.renderViewColumns(l))}}])&&uh(n.prototype,r),o&&uh(n,o),t}();var hh=ve(null,function(e){return{onSetSelected:function(t){e(bp(t))},onTableAction:function(t,n){e(pp(t,n))}}})(dh);function mh(e){return(mh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function gh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function bh(e){return(bh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function yh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function vh(e,t){return(vh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Eh=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,(n=!(o=bh(t).call(this,e))||"object"!==mh(o)&&"function"!=typeof o?yh(r):o).handleRender=n.renderRow.bind(yh(n)),n.props.onLoadRedirects(),n.props.onLoadGroups(),n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&vh(e,t)}(t,k.a.Component),n=t,(r=[{key:"renderRow",value:function(e,t,n){var r=this.props.redirect.saving,o=n.isLoading?Be:Ve,a=-1!==r.indexOf(e.id)?We:o;return k.a.createElement(hh,{item:e,key:t,selected:n.isSelected,status:a})}},{key:"getGroups",value:function(e){return[{value:0,text:Object(j.translate)("All groups")}].concat(lc(e))}},{key:"renderNew",value:function(){var e=this.props.redirect.addTop,t=Wr()({"add-new":!0,edit:!0,addTop:e});return k.a.createElement(k.a.Fragment,null,!e&&k.a.createElement("h2",null,Object(j.translate)("Add new redirection")),k.a.createElement("div",{className:t},k.a.createElement(Pp,{item:$s("",0,this.props.defaultFlags),saveButton:Object(j.translate)("Add Redirect"),autoFocus:e})))}},{key:"canFilter",value:function(e,t){return e.status===Ve&&t!==Be}},{key:"render",value:function(){var e=this.props.redirect,t=e.status,n=e.total,r=e.table,o=e.rows,a=e.addTop,i=this.props.group,l=t===Ve&&i.status===Ve;return k.a.createElement("div",{className:"redirects"},a&&this.renderNew(),k.a.createElement(ni,{status:t,table:r,onSearch:this.props.onSearch,ignoreFilter:["group"]}),k.a.createElement(Qa,{total:n,selected:r.selected,table:r,onChangePage:this.props.onChangePage,onAction:this.props.onAction,bulk:[{id:"delete",name:Object(j.translate)("Delete")},{id:"enable",name:Object(j.translate)("Enable")},{id:"disable",name:Object(j.translate)("Disable")},{id:"reset",name:Object(j.translate)("Reset hits")}],status:t},k.a.createElement(Fd,{selected:r.filter?r.filter:"0",options:this.getGroups(i.rows),isEnabled:this.canFilter(i,t),onFilter:this.props.onFilter,key:bt(r)})),k.a.createElement(Ra,{headers:[{name:"cb",check:!0},{name:"code",title:Object(j.translate)("Type"),sortable:!1},{name:"url",title:Object(j.translate)("URL"),primary:!0},{name:"position",title:Object(j.translate)("Pos")},{name:"last_count",title:Object(j.translate)("Hits")},{name:"last_access",title:Object(j.translate)("Last Access")}],rows:o,total:n,row:this.handleRender,table:r,status:t,onSetAllSelected:this.props.onSetAllSelected,onSetOrderBy:this.props.onSetOrderBy}),k.a.createElement(Qa,{total:n,selected:r.selected,table:r,onChangePage:this.props.onChangePage,onAction:this.props.onAction,status:t}),l&&!a&&this.renderNew())}}])&&gh(n.prototype,r),o&&gh(n,o),t}();var wh=ve(function(e){return{redirect:e.redirect,group:e.group,defaultFlags:Xi(e)}},function(e){return{onLoadGroups:function(){e(hf())},onLoadRedirects:function(t){e(fp(t))},onSearch:function(t){e(mp(t))},onChangePage:function(t){e(hp(t))},onAction:function(t){e(pp(t))},onSetAllSelected:function(t){e(yp(t))},onSetOrderBy:function(t,n){e(dp(t,n))},onFilter:function(t){e(gp("group",t))}}})(Eh),Oh=!!document.documentElement.currentStyle,xh={"min-height":"0","max-height":"none",height:"0",visibility:"hidden",overflow:"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},Sh=["letter-spacing","line-height","font-family","font-weight","font-size","font-style","tab-size","text-rendering","text-transform","width","text-indent","padding-top","padding-right","padding-bottom","padding-left","border-top-width","border-right-width","border-bottom-width","border-left-width","box-sizing"],kh={},_h=document.createElement("textarea"),Ch=function(e){Object.keys(xh).forEach(function(t){e.style.setProperty(t,xh[t],"important")})};function jh(e,t,n,r,o){void 0===n&&(n=!1),void 0===r&&(r=null),void 0===o&&(o=null),null===_h.parentNode&&document.body.appendChild(_h);var a=function(e,t,n){void 0===n&&(n=!1);if(n&&kh[t])return kh[t];var r=window.getComputedStyle(e);if(null===r)return null;var o=Sh.reduce(function(e,t){return e[t]=r.getPropertyValue(t),e},{}),a=o["box-sizing"];if(""===a)return null;Oh&&"border-box"===a&&(o.width=parseFloat(o.width)+parseFloat(r["border-right-width"])+parseFloat(r["border-left-width"])+parseFloat(r["padding-right"])+parseFloat(r["padding-left"])+"px");var i=parseFloat(o["padding-bottom"])+parseFloat(o["padding-top"]),l=parseFloat(o["border-bottom-width"])+parseFloat(o["border-top-width"]),u={sizingStyle:o,paddingSize:i,borderSize:l,boxSizing:a};n&&(kh[t]=u);return u}(e,t,n);if(null===a)return null;var i=a.paddingSize,l=a.borderSize,u=a.boxSizing,s=a.sizingStyle;Object.keys(s).forEach(function(e){_h.style[e]=s[e]}),Ch(_h),_h.value=e.value||e.placeholder||"x";var c=-1/0,p=1/0,f=_h.scrollHeight;"border-box"===u?f+=l:"content-box"===u&&(f-=i),_h.value="x";var d=_h.scrollHeight-i,h=Math.floor(f/d);return null!==r&&(c=d*r,"border-box"===u&&(c=c+i+l),f=Math.max(c,f)),null!==o&&(p=d*o,"border-box"===u&&(p=p+i+l),f=Math.min(p,f)),{height:f,minHeight:c,maxHeight:p,rowCount:Math.floor(f/d),valueRowCount:h}}Ch(_h);var Ph=function(){},Th=0,Ah=function(e){function t(t){var n;return(n=e.call(this,t)||this)._onRef=function(e){n._ref=e;var t=n.props.inputRef;"function"!=typeof t?t.current=e:t(e)},n._onChange=function(e){n._controlled||n._resizeComponent(),n.props.onChange(e,F(F(n)))},n._resizeComponent=function(e){void 0===e&&(e=Ph);var t=jh(n._ref,n._uid,n.props.useCacheForDOMMeasurements,n.props.minRows,n.props.maxRows);if(null!==t){var r=t.height,o=t.minHeight,a=t.maxHeight,i=t.rowCount,l=t.valueRowCount;n.rowCount=i,n.valueRowCount=l,n.state.height===r&&n.state.minHeight===o&&n.state.maxHeight===a?e():n.setState({height:r,minHeight:o,maxHeight:a},e)}else e()},n.state={height:t.style&&t.style.height||0,minHeight:-1/0,maxHeight:1/0},n._uid=Th++,n._controlled=void 0!==t.value,n._resizeLock=!1,n}T(t,e);var n=t.prototype;return n.render=function(){var e=this.props,t=(e.inputRef,e.maxRows,e.minRows,e.onHeightChange,e.useCacheForDOMMeasurements,M(e,["inputRef","maxRows","minRows","onHeightChange","useCacheForDOMMeasurements"]));return t.style=L({},t.style,{height:this.state.height}),Math.max(t.style.maxHeight||1/0,this.state.maxHeight)<this.state.height&&(t.style.overflow="hidden"),k.a.createElement("textarea",L({},t,{onChange:this._onChange,ref:this._onRef}))},n.componentDidMount=function(){var e=this;this._resizeComponent(),this._resizeListener=function(){e._resizeLock||(e._resizeLock=!0,e._resizeComponent(function(){e._resizeLock=!1}))},window.addEventListener("resize",this._resizeListener)},n.componentDidUpdate=function(e,t){e!==this.props&&this._resizeComponent(),this.state.height!==t.height&&this.props.onHeightChange(this.state.height,this)},n.componentWillUnmount=function(){var e;window.removeEventListener("resize",this._resizeListener),e=this._uid,delete kh[e]},t}(k.a.Component);Ah.defaultProps={inputRef:Ph,onChange:Ph,onHeightChange:Ph,useCacheForDOMMeasurements:!1};var Rh=Ah,Dh=function(){return{type:Gn}},Nh=function(){return{type:qn}};n(148);function Ih(e){return(Ih="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Fh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Lh(e){return(Lh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Mh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Uh(e,t){return(Uh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Bh=function(e){function t(){var e,n,r,o,a,i,l;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var u=arguments.length,s=new Array(u),c=0;c<u;c++)s[c]=arguments[c];return r=this,o=(e=Lh(t)).call.apply(e,[this].concat(s)),n=!o||"object"!==Ih(o)&&"function"!=typeof o?Mh(r):o,a=Mh(n),l=function(){n.props.onClear()},(i="onClick")in a?Object.defineProperty(a,i,{value:l,enumerable:!0,configurable:!0,writable:!0}):a[i]=l,n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Uh(e,t)}(t,k.a.Component),n=t,(r=[{key:"componentDidUpdate",value:function(e){0===e.errors.length&&this.props.errors.length>0&&window.scrollTo(0,0)}},{key:"getDebug",value:function(e){for(var t=[Redirectioni10n.versions],n=0;n<e.length;n++){var r=e[n].request,o=void 0!==r&&r;t.push(""),t.push("Error: "+this.getErrorDetails(e[n])),o&&o.status&&o.statusText&&(t.push("Action: "+o.action),o.params&&t.push("Params: "+JSON.stringify(o.params)),t.push("Code: "+o.status+" "+o.statusText)),o&&t.push("Raw: "+(o.raw?o.raw:"-no data-"))}return t}},{key:"getErrorDetails",value:function(e){return 0===e.code?e.message:e.data&&e.data.wpdb?"".concat(e.message," (").concat(e.code,"): ").concat(e.data.wpdb):e.code?"".concat(e.message," (").concat(e.code,")"):e.message}},{key:"removeSameError",value:function(e){return e.filter(function(t,n){for(var r=n+1;n<e.length-1;n++)if(t.code&&e[r].code&&t.code===e[r].code)return!1;return!0})}},{key:"renderError",value:function(e){var t=this.removeSameError(e),n=this.getDebug(t),r="mailto:john@redirection.me?subject=Redirection%20Error&body="+encodeURIComponent(n.join("\n")),o="https://github.com/johngodley/redirection/issues/new?title=Redirection%20Error&body="+encodeURIComponent("```\n"+n.join("\n")+"\n```\n\n");return k.a.createElement("div",{className:"red-error"},k.a.createElement("div",{className:"closer",onClick:this.onClick},"✖"),k.a.createElement("h2",null,Object(j.translate)("Something went wrong 🙁")),k.a.createElement("div",{className:"red-error_title"},t.map(function(e,t){return k.a.createElement(Io,{error:e,key:t})})),k.a.createElement(na,null),k.a.createElement("h3",null,Object(j.translate)("What do I do next?")),k.a.createElement("ol",null,k.a.createElement("li",null,Object(j.translate)('Take a look at the {{link}}plugin status{{/link}}. It may be able to identify and "magic fix" the problem.',{components:{link:k.a.createElement("a",{href:"?page=redirection.php&sub=support"})}})),k.a.createElement("li",null,Object(j.translate)("{{link}}Caching software{{/link}}, in particular Cloudflare, can cache the wrong thing. Try clearing all your caches.",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/problems/cloudflare/"})}})),k.a.createElement("li",null,Object(j.translate)("{{link}}Please temporarily disable other plugins!{{/link}} This fixes so many problems.",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/problems/plugins/"})}}))),k.a.createElement("h3",null,Object(j.translate)("That didn't help")),k.a.createElement("p",null,Object(j.translate)("Please {{strong}}create an issue{{/strong}} or send it in an {{strong}}email{{/strong}}.",{components:{strong:k.a.createElement("strong",null)}})),k.a.createElement("p",null,k.a.createElement("a",{href:o,className:"button-primary"},Object(j.translate)("Create An Issue"))," ",k.a.createElement("a",{href:r,className:"button-secondary"},Object(j.translate)("Email"))),k.a.createElement("p",null,Object(j.translate)("Include these details in your report along with a description of what you were doing and a screenshot")),k.a.createElement("p",null,k.a.createElement(Rh,{readOnly:!0,cols:"120",value:n.join("\n"),spellCheck:!1})))}},{key:"render",value:function(){var e=this.props.errors;return 0===e.length?null:this.renderError(e)}}])&&Fh(n.prototype,r),o&&Fh(n,o),t}();var zh=ve(function(e){return{errors:e.message.errors}},function(e){return{onClear:function(){e(Dh())}}})(Bh);n(150);function Vh(e){return(Vh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Wh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Hh(e){return(Hh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Gh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qh(e,t){return(qh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Yh=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Hh(t).call(this,e),n=!o||"object"!==Vh(o)&&"function"!=typeof o?Gh(r):o,$h(Gh(n),"onClick",function(){n.state.shrunk?n.setState({shrunk:!1}):n.props.onClear()}),$h(Gh(n),"onShrink",function(){n.setState({shrunk:!0})}),n.state={shrunk:!1,width:"auto"},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&qh(e,t)}(t,k.a.Component),n=t,(r=[{key:"getSnapshotBeforeUpdate",value:function(e){return this.props.notices!==e.notices&&(this.stopTimer(),this.setState({shrunk:!1}),this.startTimer()),null}},{key:"componentWillUnmount",value:function(){this.stopTimer()}},{key:"stopTimer",value:function(){clearTimeout(this.timer)}},{key:"startTimer",value:function(){this.timer=setTimeout(this.onShrink,5e3)}},{key:"getNotice",value:function(e){return e.length>1?e[e.length-1]+" ("+e.length+")":e[0]}},{key:"renderNotice",value:function(e){var t="notice notice-info redirection-notice"+(this.state.shrunk?" redirection-notice_shrunk":"");return k.a.createElement("div",{className:t,onClick:this.onClick},k.a.createElement("div",{className:"closer"},"✔"),k.a.createElement("p",null,this.state.shrunk?k.a.createElement("span",{title:Object(j.translate)("View notice")},"🔔"):this.getNotice(e)))}},{key:"render",value:function(){var e=this.props.notices;return 0===e.length?null:this.renderNotice(e)}}])&&Wh(n.prototype,r),o&&Wh(n,o),t}();var Kh=ve(function(e){return{notices:e.message.notices}},function(e){return{onClear:function(){e(Nh())}}})(Yh);n(152);function Qh(e){return(Qh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Jh(e,t){return!t||"object"!==Qh(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Zh(e){return(Zh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function em(e,t){return(em=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var tm=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Jh(this,Zh(t).call(this,e))}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&em(e,t)}(t,k.a.Component),n=t,(r=[{key:"getMessage",value:function(e){return e>1?Object(j.translate)("Saving...")+" ("+e+")":Object(j.translate)("Saving...")}},{key:"renderProgress",value:function(e){return k.a.createElement("div",{className:"notice notice-progress redirection-notice"},k.a.createElement(ko,null),k.a.createElement("p",null,this.getMessage(e)))}},{key:"render",value:function(){var e=this.props.inProgress;return 0===e?null:this.renderProgress(e)}}])&&Xh(n.prototype,r),o&&Xh(n,o),t}();var nm=ve(function(e){return{inProgress:e.message.inProgress}},null)(tm),rm=function(e){var t=e.item,n=e.isCurrent,r=e.onClick,o=Redirectioni10n.pluginRoot+(""===t.value?"":"&sub="+t.value);return k.a.createElement("li",null,k.a.createElement("a",{className:n?"current":"",href:o,onClick:function(e){e.preventDefault(),r(t.value,o)}},t.name))},om=(n(154),function(e){var t=e.onChangePage,n=it();return k.a.createElement("div",{className:"subsubsub-container"},k.a.createElement("ul",{className:"subsubsub"},[{name:Object(j.translate)("Redirects"),value:""},{name:Object(j.translate)("Groups"),value:"groups"},{name:Object(j.translate)("Log"),value:"log"},{name:Object(j.translate)("404s"),value:"404s"},{name:Object(j.translate)("Import/Export"),value:"io"},{name:Object(j.translate)("Options"),value:"options"},{name:Object(j.translate)("Support"),value:"support"}].map(function(e,r){return k.a.createElement(rm,{key:r,item:e,isCurrent:n===e.value||"redirect"===n&&""===e.value,onClick:t})}).reduce(function(e,t){return[e," | ",t]})))}),am=n(23),im=n.n(am),lm=n(34),um=n.n(lm),sm=n(21),cm=n.n(sm),pm=n(11),fm=n.n(pm),dm=n(22),hm=n.n(dm),mm=function(e){return function(e){function t(){return cm()(this,t),fm()(this,e.apply(this,arguments))}return hm()(t,e),t.prototype.componentDidUpdate=function(){var e=this,t=Date.now(),n=!1;Object.keys(this.paths).forEach(function(r){var o=e.paths[r];if(o){n=!0;var a=o.style;a.transitionDuration=".3s, .3s, .3s, .06s",e.prevTimeStamp&&t-e.prevTimeStamp<100&&(a.transitionDuration="0s, 0s")}}),n&&(this.prevTimeStamp=Date.now())},t.prototype.render=function(){return e.prototype.render.call(this)},t}(e)},gm={className:"",percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,style:{},trailColor:"#D9D9D9",trailWidth:1},bm=R.a.oneOfType([R.a.number,R.a.string]),ym={className:R.a.string,percent:R.a.oneOfType([bm,R.a.arrayOf(bm)]),prefixCls:R.a.string,strokeColor:R.a.oneOfType([R.a.string,R.a.arrayOf(R.a.string)]),strokeLinecap:R.a.oneOf(["butt","round","square"]),strokeWidth:bm,style:R.a.object,trailColor:R.a.string,trailWidth:bm},vm=function(e){function t(){var n,r,o;cm()(this,t);for(var a=arguments.length,i=Array(a),l=0;l<a;l++)i[l]=arguments[l];return n=r=fm()(this,e.call.apply(e,[this].concat(i))),r.paths={},o=n,fm()(r,o)}return hm()(t,e),t.prototype.render=function(){var e=this,t=this.props,n=t.className,r=t.percent,o=t.prefixCls,a=t.strokeColor,i=t.strokeLinecap,l=t.strokeWidth,u=t.style,s=t.trailColor,c=t.trailWidth,p=um()(t,["className","percent","prefixCls","strokeColor","strokeLinecap","strokeWidth","style","trailColor","trailWidth"]);delete p.gapPosition;var f=Array.isArray(r)?r:[r],d=Array.isArray(a)?a:[a],h=l/2,m="M "+("round"===i?h:0)+","+h+"\n L "+("round"===i?100-l/2:100)+","+h,g="0 0 100 "+l,b=0;return k.a.createElement("svg",im()({className:o+"-line "+n,viewBox:g,preserveAspectRatio:"none",style:u},p),k.a.createElement("path",{className:o+"-line-trail",d:m,strokeLinecap:i,stroke:s,strokeWidth:c||l,fillOpacity:"0"}),f.map(function(t,n){var r={strokeDasharray:t+"px, 100px",strokeDashoffset:"-"+b+"px",transition:"stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear"},a=d[n]||d[d.length-1];return b+=t,k.a.createElement("path",{key:n,className:o+"-line-path",d:m,strokeLinecap:i,stroke:a,strokeWidth:l,fillOpacity:"0",ref:function(t){e.paths[n]=t},style:r})}))},t}(S.Component);vm.propTypes=ym,vm.defaultProps=gm;var Em=mm(vm),wm=function(e){function t(){var n,r,o;cm()(this,t);for(var a=arguments.length,i=Array(a),l=0;l<a;l++)i[l]=arguments[l];return n=r=fm()(this,e.call.apply(e,[this].concat(i))),r.paths={},o=n,fm()(r,o)}return hm()(t,e),t.prototype.getPathStyles=function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=50-r/2,i=0,l=-a,u=0,s=-2*a;switch(arguments[5]){case"left":i=-a,l=0,u=2*a,s=0;break;case"right":i=a,l=0,u=-2*a,s=0;break;case"bottom":l=a,s=2*a}var c="M 50,50 m "+i+","+l+"\n a "+a+","+a+" 0 1 1 "+u+","+-s+"\n a "+a+","+a+" 0 1 1 "+-u+","+s,p=2*Math.PI*a;return{pathString:c,pathStyle:{stroke:n,strokeDasharray:t/100*(p-o)+"px "+p+"px",strokeDashoffset:"-"+(o/2+e/100*(p-o))+"px",transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s"}}},t.prototype.getStokeList=function(){var e=this,t=this.props,n=t.prefixCls,r=t.percent,o=t.strokeColor,a=t.strokeWidth,i=t.strokeLinecap,l=t.gapDegree,u=t.gapPosition,s=Array.isArray(r)?r:[r],c=Array.isArray(o)?o:[o],p=0;return s.map(function(t,r){var o=c[r]||c[c.length-1],s=e.getPathStyles(p,t,o,a,l,u),f=s.pathString,d=s.pathStyle;return p+=t,k.a.createElement("path",{key:r,className:n+"-circle-path",d:f,strokeLinecap:i,strokeWidth:0===t?0:a,fillOpacity:"0",style:d,ref:function(t){e.paths[r]=t}})})},t.prototype.render=function(){var e=this.props,t=e.prefixCls,n=e.strokeWidth,r=e.trailWidth,o=e.gapDegree,a=e.gapPosition,i=e.trailColor,l=e.strokeLinecap,u=e.style,s=e.className,c=um()(e,["prefixCls","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className"]),p=this.getPathStyles(0,100,i,n,o,a),f=p.pathString,d=p.pathStyle;return delete c.percent,delete c.strokeColor,k.a.createElement("svg",im()({className:t+"-circle "+s,viewBox:"0 0 100 100",style:u},c),k.a.createElement("path",{className:t+"-circle-trail",d:f,stroke:i,strokeLinecap:l,strokeWidth:r||n,fillOpacity:"0",style:d}),this.getStokeList())},t}(S.Component);wm.propTypes=im()({},ym,{gapPosition:R.a.oneOf(["top","bottom","left","right"])}),wm.defaultProps=im()({},gm,{gapPosition:"top"});mm(wm);function Om(e){return(Om="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function xm(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Sm(e){return(Sm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function km(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _m(e,t){return(_m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Cm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var jm=function(e){function t(){var e,n,r,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,i=new Array(a),l=0;l<a;l++)i[l]=arguments[l];return r=this,o=(e=Sm(t)).call.apply(e,[this].concat(i)),n=!o||"object"!==Om(o)&&"function"!=typeof o?km(r):o,Cm(km(n),"onWarning",function(e){return e.returnValue=n.props.message,e.returnValue}),n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_m(e,t)}(t,k.a.Component),n=t,(r=[{key:"componentDidMount",value:function(){this.props.prevent&&this.enable()}},{key:"componentWillUnmount",value:function(){this.props.prevent&&this.disable()}},{key:"componentDidUpdate",value:function(e){e.prevent!==this.props.prevent&&(this.props.prevent?this.enable():this.disable())}},{key:"enable",value:function(){window.addEventListener("beforeunload",this.onWarning)}},{key:"disable",value:function(){window.removeEventListener("beforeunload",this.onWarning)}},{key:"render",value:function(){return null}}])&&xm(n.prototype,r),o&&xm(n,o),t}();Cm(jm,"defaultProps",{prevent:!0});var Pm=jm;n(193);function Tm(e){return(Tm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Am(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Rm(e){return(Rm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Dm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nm(e,t){return(Nm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Im(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Fm=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Rm(t).call(this,e),n=!o||"object"!==Tm(o)&&"function"!=typeof o?Dm(r):o,Im(Dm(n),"onRetry",function(e){e.preventDefault(),n.props.onUpgrade()}),Im(Dm(n),"onSkip",function(e){e.preventDefault(),n.props.onUpgrade("skip")}),Im(Dm(n),"onStop",function(e){e.preventDefault(),n.props.onUpgrade("stop")}),Im(Dm(n),"onFinish",function(e){e.preventDefault(),n.props.onFinished&&n.props.onFinished(),n.props.onFinish()}),n.hasWork(e)&&e.onUpgrade(),n.state={looped:!1},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Nm(e,t)}(t,k.a.Component),n=t,(r=[{key:"hasWork",value:function(e){var t=e.status;return"error"!==e.result&&("need-install"===t||"need-update"===t)}},{key:"hasFinished",value:function(e){return"finish-install"===e||"finish-update"===e}},{key:"componentDidUpdate",value:function(e){var t=this;e.time!==this.props.time&&this.hasWork(this.props)&&(e.complete===this.props.complete&&"error"!==this.props.status?this.setState({looped:!0}):setTimeout(function(){t.props.onUpgrade()},1e3))}},{key:"getErrorMessage",value:function(){var e=this.props,t=e.debug,n=void 0===t?[]:t;return["Message: "+e.reason,"Installed: "+e.current,"Next: "+e.next,"Debug:\n\n"+n.join("\n")].join("\n")}},{key:"renderLoopError",value:function(){return this.renderError("Something has gone wrong with the upgrade")}},{key:"renderError",value:function(e){var t=this.props.current,n=this.getErrorMessage();return k.a.createElement("div",{className:"redirection-database_error red-error"},k.a.createElement("h3",null,Object(j.translate)("Database problem")),k.a.createElement("p",null,e),k.a.createElement("p",null,k.a.createElement("button",{className:"button button-primary",onClick:this.onRetry},Object(j.translate)("Try again"))," ","-"!==t&&k.a.createElement("button",{className:"button button-secondary",onClick:this.onSkip},Object(j.translate)("Skip this stage"))," ","-"!==t&&k.a.createElement("button",{className:"button button-secondary",onClick:this.onStop},Object(j.translate)("Stop upgrade"))),k.a.createElement("p",null,Object(j.translate)("If you want to {{support}}ask for support{{/support}} please include these details:",{components:{support:k.a.createElement("a",{href:"mailto:john@redirection.me?subject=Redirection%20Database&body="+encodeURIComponent("Redirection: "+Redirectioni10n.versions)})}})),k.a.createElement("textarea",{value:n,rows:"15",readOnly:!0}))}},{key:"renderIntro",value:function(){return this.hasWork(this.props)?k.a.createElement("p",null,Object(j.translate)("Please remain on this page until complete.")):null}},{key:"getTitle",value:function(){return"need-update"===this.props.status?Object(j.translate)("Upgrading Redirection"):Object(j.translate)("Setting up Redirection")}},{key:"render",value:function(){var e=this.props,t=e.status,n=e.complete,r=void 0===n?0:n,o=e.reason,a=e.result,i=this.state.looped,l="ok"===a&&!this.hasFinished(t)&&!i;return k.a.createElement("div",{className:"redirection-database"},k.a.createElement(Pm,{message:Object(j.translate)("Leaving before the process has completed may cause problems."),prevent:"error"!==a&&a!==ze}),k.a.createElement("h1",null,this.getTitle()),"error"!==a&&this.renderIntro(),k.a.createElement("div",{className:"redirection-database_progress"},k.a.createElement("h3",null,Object(j.translate)("Progress: %(complete)d%%",{args:{complete:r}})),k.a.createElement(Em,{percent:r,strokeWidth:"4",trailWidth:"4",strokeLinecap:"square"}),o&&"ok"===a&&k.a.createElement("p",null,o),l&&k.a.createElement("div",{className:"redirection-database_spinner"},k.a.createElement(ko,null)),"error"===a&&this.renderError(o),i&&this.renderLoopError(),this.hasFinished(t)&&k.a.createElement("button",{className:"button button-primary",onClick:this.onFinish},Object(j.translate)("Finished! 🎉"))))}}])&&Am(n.prototype,r),o&&Am(n,o),t}();var Lm=ve(function(e){var t=e.settings.database,n=t.status,r=t.complete;return{status:n,result:t.result,complete:r,reason:t.reason,debug:t.debug,time:t.time,current:t.current,next:t.next}},function(e){return{onUpgrade:function(t){e(xr(t))},onFinish:function(){e(Sr())}}})(Fm);n(195);function Mm(e){return(Mm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Um(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Bm(e){return(Bm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function zm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Vm(e,t){return(Vm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Wm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Hm=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Bm(t).call(this,e),n=!o||"object"!==Mm(o)&&"function"!=typeof o?zm(r):o,Wm(zm(n),"nextStep",function(e){e.preventDefault(),n.setState({step:n.state.step+1})}),Wm(zm(n),"prevStep",function(e){e.preventDefault(),n.setState({step:n.state.step-1})}),Wm(zm(n),"finishSetup",function(e){var t=n.getFirstApi();Redirectioni10n.api.routes[t]&&wt(Redirectioni10n.api.routes[t]),e.preventDefault(),n.setState({step:3})}),Wm(zm(n),"onChange",function(e){var t=Wm({},e.target.name,e.target.checked);"log"!==e.target.name||e.target.checked||(t.ip=!1),n.setState(t)}),Wm(zm(n),"afterFinishInstall",function(){var e=n.state,t=e.ip,r=e.log,o=e.monitor;n.props.onSaveSettings({expire_redirect:r?7:-1,expire_404:r?7:-1,ip_logging:t?1:0,rest_api:n.getFirstApi(),monitor_types:o?["post","page"]:void 0,monitor_post:o?1:0})}),n.state={step:0,monitor:!1,log:!1,ip:!1},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Vm(e,t)}(t,k.a.Component),n=t,(r=[{key:"getFirstApi",value:function(){for(var e=this.props.apiTest,t=Object.keys(e),n=0;n<t.length;n++)if(e[n]&&"ok"===e[n].GET.status&&"ok"===e[n].POST.status)return n;return 0}},{key:"renderStep0",value:function(){return k.a.createElement(k.a.Fragment,null,k.a.createElement("h2",null,Object(j.translate)("Welcome to Redirection 🚀🎉")),k.a.createElement("p",null,Object(j.translate)("Thank you for installing and using Redirection v%(version)s. This plugin will allow you to manage 301 redirections, keep track of 404 errors, and improve your site, with no knowledge of Apache or Nginx needed.",{args:{version:Redirectioni10n.version}})),k.a.createElement("p",null,Object(j.translate)("Redirection is designed to be used on sites with a few redirects to sites with thousands of redirects.")),k.a.createElement("h3",null,Object(j.translate)("How do I use this plugin?")),k.a.createElement("p",null,Object(j.translate)("A simple redirect involves setting a {{strong}}source URL{{/strong}} (the old URL) and a {{strong}}target URL{{/strong}} (the new URL). Here's an example:",{components:{strong:k.a.createElement("strong",null)}})),k.a.createElement("table",{className:"edit edit-redirection"},k.a.createElement("tbody",null,k.a.createElement("tr",null,k.a.createElement("th",null,Object(j.translate)("Source URL"),":"),k.a.createElement("td",null,k.a.createElement("input",{type:"text",readOnly:!0,value:Object(j.translate)("(Example) The source URL is your old or original URL")}))),k.a.createElement("tr",null,k.a.createElement("th",null,Object(j.translate)("Target URL"),":"),k.a.createElement("td",null,k.a.createElement("input",{type:"text",readOnly:!0,value:Object(j.translate)("(Example) The target URL is the new URL")}))))),k.a.createElement("p",null,Object(j.translate)("That's all there is to it - you are now redirecting! Note that the above is just an example - you can now enter a redirect.")),k.a.createElement("p",null,Object(j.translate)("Full documentation can be found on the {{link}}Redirection website.{{/link}}",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/"})}})),k.a.createElement("h3",null,Object(j.translate)("Some features you may find useful are"),":"),k.a.createElement("ul",null,k.a.createElement("li",null,Object(j.translate)("{{link}}Monitor 404 errors{{/link}}, get detailed information about the visitor, and fix any problems",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/tracking-404-errors/"})}})),k.a.createElement("li",null,Object(j.translate)("{{link}}Import{{/link}} from .htaccess, CSV, and a variety of other plugins",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/import-export-redirects/"})}})),k.a.createElement("li",null,Object(j.translate)("More powerful URL matching, including {{regular}}regular expressions{{/regular}}, and {{other}}other conditions{{/other}}",{components:{regular:k.a.createElement(Ar,{url:"https://redirection.me/support/redirect-regular-expressions/"}),other:k.a.createElement(Ar,{url:"https://redirection.me/support/matching-redirects/"})}})),k.a.createElement("li",null,Object(j.translate)("Check a URL is being redirected"))),k.a.createElement("h3",null,Object(j.translate)("What's next?")),k.a.createElement("p",null,Object(j.translate)("First you will be asked a few questions, and then Redirection will set up your database.")),k.a.createElement("p",null,Object(j.translate)("When ready please press the button to continue.")),k.a.createElement("div",{className:"wizard-buttons"},k.a.createElement("button",{className:"button-primary button",onClick:this.nextStep},Object(j.translate)("Start Setup"))))}},{key:"renderStep1",value:function(){var e=this.state,t=e.monitor,n=e.log,r=e.ip;return k.a.createElement(k.a.Fragment,null,k.a.createElement("h2",null,Object(j.translate)("Basic Setup")),k.a.createElement("p",null,Object(j.translate)("These are some options you may want to enable now. They can be changed at any time.")),k.a.createElement("div",{className:"wizard-option"},k.a.createElement("p",null,k.a.createElement("label",null,k.a.createElement("input",{name:"monitor",type:"checkbox",checked:t,onChange:this.onChange})," ",Object(j.translate)("Monitor permalink changes in WordPress posts and pages"),".")),k.a.createElement("p",null,Object(j.translate)("If you change the permalink in a post or page then Redirection can automatically create a redirect for you.")," ",Object(j.translate)("{{link}}Read more about this.{{/link}}",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/options/#monitor"})}}))),k.a.createElement("div",{className:"wizard-option"},k.a.createElement("p",null,k.a.createElement("label",null,k.a.createElement("input",{name:"log",type:"checkbox",checked:n,onChange:this.onChange})," ",Object(j.translate)("Keep a log of all redirects and 404 errors."))),k.a.createElement("p",null,Object(j.translate)("Storing logs for redirects and 404s will allow you to see what is happening on your site. This will increase your database storage requirements.")," ",Object(j.translate)("{{link}}Read more about this.{{/link}}",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/logs/"})}}))),k.a.createElement("div",{className:n?"wizard-option":"wizard-option wizard-option_disabled"},k.a.createElement("p",null,k.a.createElement("label",null,k.a.createElement("input",{name:"ip",type:"checkbox",disabled:!n,checked:r,onChange:this.onChange})," ",Object(j.translate)("Store IP information for redirects and 404 errors."))),k.a.createElement("p",null,Object(j.translate)("Storing the IP address allows you to perform additional log actions. Note that you will need to adhere to local laws regarding the collection of data (for example GDPR).")," ",Object(j.translate)("{{link}}Read more about this.{{/link}}",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/privacy-gdpr/"})}}))),k.a.createElement("div",{className:"wizard-buttons"},k.a.createElement("button",{className:"button-primary button",onClick:this.nextStep},Object(j.translate)("Continue Setup")),"  ",k.a.createElement("button",{className:"button",onClick:this.prevStep},Object(j.translate)("Go back"))))}},{key:"renderStep2",value:function(){var e=ci.parse(Et()),t=ci.parse(Redirectioni10n.pluginBaseUrl),n=e.protocol!==t.protocol||e.host!==t.host;return k.a.createElement(k.a.Fragment,null,k.a.createElement("h2",null,Object(j.translate)("REST API")),k.a.createElement("p",null,Object(j.translate)("Redirection uses the {{link}}WordPress REST API{{/link}} to communicate with WordPress. This is enabled and working by default. Sometimes the REST API is blocked by:",{components:{link:k.a.createElement(Ar,{url:"https://developer.wordpress.org/rest-api/"})}})),k.a.createElement("ul",null,k.a.createElement("li",null,Object(j.translate)("A security plugin (e.g Wordfence)")),k.a.createElement("li",null,Object(j.translate)("A server firewall or other server configuration (e.g OVH)")),k.a.createElement("li",null,Object(j.translate)("Caching software (e.g Cloudflare)")),k.a.createElement("li",null,Object(j.translate)("Some other plugin that blocks the REST API"))),k.a.createElement("p",null,Object(j.translate)("If you do experience a problem then please consult your plugin documentation, or try contacting your host support. This is generally {{link}}not a problem caused by Redirection{{/link}}.",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/problems/rest-api/"})}})),n&&k.a.createElement("div",{className:"red-error"},Object(j.translate)("You have different URLs configured on your WordPress Settings > General page, which is usually an indication of a misconfiguration, and it can cause problems with the REST API. Please review your settings."),k.a.createElement("p",null,k.a.createElement("code",null,e.protocol+"//"+e.host)),k.a.createElement("p",null,k.a.createElement("code",null,t.protocol+"//"+t.host))),k.a.createElement(na,{allowChange:!1}),k.a.createElement("p",null,Object(j.translate)("You will need at least one working REST API to continue.")),k.a.createElement("div",{className:"wizard-buttons"},k.a.createElement("button",{className:"button-primary button",onClick:this.finishSetup},Object(j.translate)("Finish Setup")),"  ",k.a.createElement("button",{className:"button",onClick:this.prevStep},Object(j.translate)("Go back"))))}},{key:"renderStep3",value:function(){return k.a.createElement(Lm,{onFinished:this.afterFinishInstall})}},{key:"getContentForStep",value:function(e){return 3===e?this.renderStep3():2===e?this.renderStep2():1===e?this.renderStep1():this.renderStep0()}},{key:"render",value:function(){var e=this.state.step,t=this.props.result,n=this.getContentForStep(e);return k.a.createElement(k.a.Fragment,null,t===ze&&k.a.createElement(zh,null),k.a.createElement("div",{className:"wizard-wrapper"},0!==e&&3!==e&&k.a.createElement("h1",null,Object(j.translate)("Redirection")),k.a.createElement("div",{className:"wizard"},n)),k.a.createElement("div",{className:"wizard-support"},k.a.createElement(Ar,{url:"https://redirection.me/contact/"},Object(j.translate)("I need support!"))))}}])&&Um(n.prototype,r),o&&Um(n,o),t}();var Gm=ve(function(e){return{result:e.settings.database.result,apiTest:e.settings.apiTest}},function(e){return{onSaveSettings:function(t){e(yr(t))}}})(Hm);function qm(e){return(qm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function $m(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ym(e){return(Ym=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Km(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Qm(e,t){return(Qm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Xm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Jm=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Ym(t).call(this,e),n=!o||"object"!==qm(o)&&"function"!=typeof o?Km(r):o,Xm(Km(n),"onToggle",function(e){e.preventDefault(),n.setState({showManual:!n.state.showManual})}),Xm(Km(n),"onComplete",function(){n.props.onComplete(Redirectioni10n.database.next)}),n.state={showManual:!1},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Qm(e,t)}(t,k.a.Component),n=t,(r=[{key:"renderManual",value:function(){return k.a.createElement(k.a.Fragment,null,k.a.createElement("p",null,Object(j.translate)('If your site needs special database permissions, or you would rather do it yourself, you can manually run the following SQL. Click "Complete Upgrade" when finished.')),k.a.createElement("p",null,k.a.createElement(Rh,{readOnly:!0,cols:"120",value:Redirectioni10n.database.manual.join(";\n")+";",spellCheck:!1})),k.a.createElement("p",null,k.a.createElement("button",{className:"button-primary",onClick:this.onComplete},Object(j.translate)("Complete Upgrade"))))}},{key:"renderStandard",value:function(){var e=this.props.onShowUpgrade;return k.a.createElement(k.a.Fragment,null,k.a.createElement("p",null,Object(j.translate)('Click the "Upgrade Database" button to automatically upgrade the database.')),k.a.createElement("p",null,k.a.createElement("input",{className:"button-primary",type:"submit",value:Object(j.translate)("Upgrade Database"),onClick:e})))}},{key:"render",value:function(){var e,t=this.props,n=t.showDatabase,r=t.result,o=this.state.showManual;return n?k.a.createElement(k.a.Fragment,null,r===ze&&k.a.createElement(zh,null),k.a.createElement("div",{className:"wizard-wrapper"},k.a.createElement("div",{className:"wizard"},k.a.createElement(Lm,null)))):k.a.createElement("div",{className:"wrap redirection"},k.a.createElement("h1",{className:"wp-heading-inline"},Object(j.translate)("Upgrade Required")),k.a.createElement("div",{className:"red-error"},k.a.createElement("h3",null,Object(j.translate)("Redirection database needs upgrading")),(e=Redirectioni10n.database).current===e.next?k.a.createElement("p",null,Object(j.translate)("A database upgrade is in progress. Please continue to finish.")):k.a.createElement(k.a.Fragment,null,k.a.createElement("p",null,Object(j.translate)("Redirection stores data in your database and sometimes this needs upgrading. Your database is at version {{strong}}%(current)s{{/strong}} and the latest is {{strong}}%(latest)s{{/strong}}.",{args:{current:Redirectioni10n.database.current,latest:Redirectioni10n.database.next},components:{strong:k.a.createElement("strong",null)}}))),k.a.createElement("p",null,Object(j.translate)("Please make a backup of your Redirection data: {{download}}downloading a backup{{/download}}. If you experience any issues you can import this back into Redirection.",{components:{download:k.a.createElement(Ar,{url:vd("all","json")}),import:k.a.createElement(Ar,{url:"https://redirection.me/support/import-export-redirects/"})}})),o&&this.renderManual(),!o&&this.renderStandard()),k.a.createElement("div",{className:"database-switch"},!o&&k.a.createElement("a",{href:"#",onClick:this.onToggle},Object(j.translate)("Manual Upgrade")),o&&k.a.createElement("a",{href:"#",onClick:this.onToggle},Object(j.translate)("Automatic Upgrade"))))}}])&&$m(n.prototype,r),o&&$m(n,o),t}();var Zm=ve(null,function(e){return{onComplete:function(t){e(wr("database",t))}}})(Jm);n(197);function eg(e){return(eg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tg(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ng(e){return(ng=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function rg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function og(e,t){return(og=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ag(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ig=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=ng(t).call(this,e),n=!o||"object"!==eg(o)&&"function"!=typeof o?rg(r):o,ag(rg(n),"onPageChanged",function(){var e=it();n.changePage(e),n.setState({page:e,clicked:n.state.clicked+1})}),ag(rg(n),"onChangePage",function(e,t){var r=n.props.errors;""===e&&(e="redirect"),"support"===e&&r.length>0?document.location.href=t:(n.props.onClear(),history.pushState({},null,t),n.changePage(e),n.setState({page:e,clicked:n.state.clicked+1}))}),ag(rg(n),"onAdd",function(e){e.preventDefault(),n.props.onAdd()}),ag(rg(n),"onShowUpgrade",function(e){e.preventDefault(),n.props.onShowUpgrade()}),n.state={page:it(),clicked:0,stack:!1,error:"4.2.2"!==Redirectioni10n.version,info:!1},window.addEventListener("popstate",n.onPageChanged),n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&og(e,t)}(t,k.a.Component),n=t,(r=[{key:"componentDidCatch",value:function(e,t){this.setState({error:!0,stack:e,info:t})}},{key:"componentWillUnmount",value:function(){window.removeEventListener("popstate",this.onPageChanged)}},{key:"changePage",value:function(e){var t=this.props,n=t.onSet404Table,r=t.onSetLogTable,o=t.onSetRedirectTable,a=t.onSetGroupTable;"404s"===e?n(hr().table):"log"===e?r(dr().table):"redirect"===e?o(gr().table):"groups"===e&&a(mr().table)}},{key:"getContent",value:function(e){var t=this.state.clicked;switch(e){case"support":return k.a.createElement(wa,null);case"404s":return k.a.createElement(Tf,{key:t});case"log":return k.a.createElement(al,{key:t});case"io":return k.a.createElement(Pd,null);case"groups":return k.a.createElement(Jd,{key:t});case"options":return k.a.createElement(vo,null)}return k.a.createElement(wh,{key:t})}},{key:"renderError",value:function(){var e=[Redirectioni10n.versions,"Buster: 4.2.2 === "+Redirectioni10n.version,"",this.state.stack];return this.state.info&&this.state.info.componentStack&&e.push(this.state.info.componentStack),"4.2.2"!==Redirectioni10n.version?k.a.createElement("div",{className:"red-error"},k.a.createElement("h2",null,Object(j.translate)("Cached Redirection detected")),k.a.createElement("p",null,Object(j.translate)("Please clear your browser cache and reload this page.")),k.a.createElement("p",null,Object(j.translate)("If you are using a caching system such as Cloudflare then please read this: "),k.a.createElement(Ar,{url:"https://redirection.me/support/problems/cloudflare/?utm_source=redirection&utm_medium=plugin&utm_campaign=support"},Object(j.translate)("clearing your cache."))),k.a.createElement("p",null,k.a.createElement("textarea",{readOnly:!0,rows:e.length+3,cols:"120",value:e.join("\n"),spellCheck:!1}))):k.a.createElement("div",{className:"red-error"},k.a.createElement("h2",null,Object(j.translate)("Something went wrong 🙁")),k.a.createElement("p",null,Object(j.translate)("Redirection is not working. Try clearing your browser cache and reloading this page."),"  ",Object(j.translate)("If you are using a page caching plugin or service (CloudFlare, OVH, etc) then you can also try clearing that cache.")),k.a.createElement("p",null,Object(j.translate)("If that doesn't help, open your browser's error console and create a {{link}}new issue{{/link}} with the details.",{components:{link:k.a.createElement(Ar,{url:"https://github.com/johngodley/redirection/issues"})}})),k.a.createElement("p",null,Object(j.translate)("Please mention {{code}}%s{{/code}}, and explain what you were doing at the time",{components:{code:k.a.createElement("code",null)},args:this.state.page})),k.a.createElement("p",null,k.a.createElement("textarea",{readOnly:!0,rows:e.length+8,cols:"120",value:e.join("\n"),spellCheck:!1})))}},{key:"render",value:function(){var e=this.state,t=e.error,n=e.page,r=this.props,o=r.databaseStatus,a=r.showDatabase,i=r.result,l={redirect:Object(j.translate)("Redirections"),groups:Object(j.translate)("Groups"),io:Object(j.translate)("Import/Export"),log:Object(j.translate)("Logs"),"404s":Object(j.translate)("404 errors"),options:Object(j.translate)("Options"),support:Object(j.translate)("Support")}[n];return t?this.renderError():"need-install"===o||"finish-install"===o?k.a.createElement(Gm,null):"need-update"===o||"finish-update"===o?k.a.createElement(Zm,{onShowUpgrade:this.props.onShowUpgrade,showDatabase:a,result:i}):k.a.createElement("div",{className:"wrap redirection"},k.a.createElement("h1",{className:"wp-heading-inline"},l),"redirect"===n&&k.a.createElement("a",{href:"#",onClick:this.onAdd,className:"page-title-action"},Object(j.translate)("Add New")),k.a.createElement(om,{onChangePage:this.onChangePage}),k.a.createElement(zh,null),this.getContent(n),k.a.createElement(nm,null),k.a.createElement(Kh,null))}}])&&tg(n.prototype,r),o&&tg(n,o),t}();var lg,ug=ve(function(e){var t=e.message.errors,n=e.settings.showDatabase,r=e.settings.database;return{errors:t,showDatabase:n,databaseStatus:r.status,result:r.result}},function(e){return{onClear:function(){e(Dh())},onAdd:function(){e(vp(!0))},onSet404Table:function(t){e(Pl(t))},onSetLogTable:function(t){e(ki(t))},onSetGroupTable:function(t){e(wf(t))},onSetRedirectTable:function(t){e(Ep(t))},onShowUpgrade:function(){e(Or())}}})(ig),sg=Object(Ee.hot)(function(){return k.a.createElement(I,{store:pr({settings:fr(),log:dr(),error:hr(),io:{status:Be,file:!1,lastImport:!1,exportData:!1,importingStatus:!1,exportStatus:!1,importers:[]},group:mr(),redirect:gr(),message:{errors:[],notices:[],inProgress:0,saving:[]},info:{status:Ve,maps:{},agents:{},http:!1,error:""}})},k.a.createElement(ug,null))});document.querySelector("#react-ui")&&(lg="react-ui",P.a.setLocale({"":{localeSlug:Redirectioni10n.localeSlug}}),P.a.addTranslations(Redirectioni10n.locale),C.a.render(k.a.createElement(sg,null),document.getElementById(lg))),window.redirection=Redirectioni10n.version}]);
1
+ /*! Redirection v4.2.3 */!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=81)}([function(e,t,n){"use strict";e.exports=n(82)},function(e,t,n){var r=n(86),o=new r;e.exports={numberFormat:o.numberFormat.bind(o),translate:o.translate.bind(o),configure:o.configure.bind(o),setLocale:o.setLocale.bind(o),getLocale:o.getLocale.bind(o),getLocaleSlug:o.getLocaleSlug.bind(o),addTranslations:o.addTranslations.bind(o),reRenderTranslations:o.reRenderTranslations.bind(o),registerComponentUpdateHook:o.registerComponentUpdateHook.bind(o),registerTranslateHook:o.registerTranslateHook.bind(o),state:o.state,stateObserver:o.stateObserver,on:o.stateObserver.on.bind(o.stateObserver),off:o.stateObserver.removeListener.bind(o.stateObserver),emit:o.stateObserver.emit.bind(o.stateObserver),$this:o,I18N:r}},function(e,t,n){e.exports=n(98)()},function(e,t,n){"use strict";(function(e){n.d(t,"b",function(){return i}),n.d(t,"a",function(){return l});var r=n(80),o=void 0!==e?e:{},a=Object(r.a)(o),i=(a.flush,a.hydrate,a.cx,a.merge,a.getRegisteredStyles,a.injectGlobal),l=(a.keyframes,a.css);a.sheet,a.caches}).call(this,n(25))},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var o=(i=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),a=r.sources.map(function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"});return[n].concat(a).concat([o]).join("\n")}var i;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o<this.length;o++){var a=this[o][0];null!=a&&(r[a]=!0)}for(o=0;o<e.length;o++){var i=e[o];null!=i[0]&&r[i[0]]||(n&&!i[2]?i[2]=n:n&&(i[2]="("+i[2]+") and ("+n+")"),t.push(i))}},t}},function(e,t,n){var r,o,a={},i=(r=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===o&&(o=r.apply(this,arguments)),o}),l=function(e){var t={};return function(e,n){if("function"==typeof e)return e();if(void 0===t[e]){var r=function(e,t){return t?t.querySelector(e):document.querySelector(e)}.call(this,e,n);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}}(),u=null,s=0,c=[],p=n(106);function f(e,t){for(var n=0;n<e.length;n++){var r=e[n],o=a[r.id];if(o){o.refs++;for(var i=0;i<o.parts.length;i++)o.parts[i](r.parts[i]);for(;i<r.parts.length;i++)o.parts.push(y(r.parts[i],t))}else{var l=[];for(i=0;i<r.parts.length;i++)l.push(y(r.parts[i],t));a[r.id]={id:r.id,refs:1,parts:l}}}}function d(e,t){for(var n=[],r={},o=0;o<e.length;o++){var a=e[o],i=t.base?a[0]+t.base:a[0],l={css:a[1],media:a[2],sourceMap:a[3]};r[i]?r[i].parts.push(l):n.push(r[i]={id:i,parts:[l]})}return n}function h(e,t){var n=l(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var r=c[c.length-1];if("top"===e.insertAt)r?r.nextSibling?n.insertBefore(t,r.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),c.push(t);else if("bottom"===e.insertAt)n.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var o=l(e.insertAt.before,n);n.insertBefore(t,o)}}function m(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=c.indexOf(e);t>=0&&c.splice(t,1)}function g(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var r=function(){0;return n.nc}();r&&(e.attrs.nonce=r)}return b(t,e.attrs),h(e,t),t}function b(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function y(e,t){var n,r,o,a;if(t.transform&&e.css){if(!(a="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=a}if(t.singleton){var i=s++;n=u||(u=g(t)),r=w.bind(null,n,i,!1),o=w.bind(null,n,i,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",b(t,e.attrs),h(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,a=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||a)&&(r=p(r));o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var i=new Blob([r],{type:"text/css"}),l=e.href;e.href=URL.createObjectURL(i),l&&URL.revokeObjectURL(l)}.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=g(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=i()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=d(e,t);return f(n,t),function(e){for(var r=[],o=0;o<n.length;o++){var i=n[o];(l=a[i.id]).refs--,r.push(l)}e&&f(d(e,t),t);for(o=0;o<r.length;o++){var l;if(0===(l=r[o]).refs){for(var u=0;u<l.parts.length;u++)l.parts[u]();delete a[l.id]}}}};var v,E=(v=[],function(e,t){return v[e]=t,v.filter(Boolean).join("\n")});function w(e,t,n,r){var o=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=E(t,o);else{var a=document.createTextNode(o),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(a,i[t]):e.appendChild(a)}}},function(e,t,n){var r;
2
  /*!
3
  Copyright (c) 2017 Jed Watson.
4
  Licensed under the MIT License (MIT), see
81
 
82
  See the Apache Version 2.0 License for specific language governing permissions
83
  and limitations under the License.
84
+ ***************************************************************************** */function Af(e,t,n,r){return new(n||(n=Promise))(function(o,a){function i(e){try{u(r.next(e))}catch(e){a(e)}}function l(e){try{u(r.throw(e))}catch(e){a(e)}}function u(e){e.done?o(e.value):new n(function(t){t(e.value)}).then(i,l)}u((r=r.apply(e,t||[])).next())})}function Rf(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function l(a){return function(l){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,l])}}}function Df(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,a=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)i.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(o)throw o.error}}return i}var Nf=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function If(e,t){var n=function(e){var t=e.name;if(t&&-1!==t.lastIndexOf(".")&&!e.type){var n=t.split(".").pop().toLowerCase(),r=Nf.get(n);r&&Object.defineProperty(e,"type",{value:r,writable:!1,configurable:!1,enumerable:!0})}return e}(e),r=e.webkitRelativePath;return Object.defineProperty(n,"path",{value:"string"==typeof t?t:"string"==typeof r&&r.length>0?r:e.name,writable:!1,configurable:!1,enumerable:!0}),n}var Ff=[".DS_Store","Thumbs.db"];function Lf(e){return Af(this,void 0,void 0,function(){return Rf(this,function(t){return[2,(n=e,n.dataTransfer&&e.dataTransfer?Uf(e.dataTransfer,e.type):Mf(e))];var n})})}function Mf(e){return(null!==e.target&&e.target.files?zf(e.target.files):[]).map(function(e){return If(e)})}function Uf(e,t){return Af(this,void 0,void 0,function(){var n;return Rf(this,function(r){switch(r.label){case 0:return e.items?(n=zf(e.items).filter(function(e){return"file"===e.kind}),"drop"!==t?[2,n]:[4,Promise.all(n.map(Vf))]):[3,2];case 1:return[2,Bf(Wf(r.sent()))];case 2:return[2,Bf(zf(e.files).map(function(e){return If(e)}))]}})})}function Bf(e){return e.filter(function(e){return-1===Ff.indexOf(e.name)})}function zf(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];t.push(r)}return t}function Vf(e){if("function"!=typeof e.webkitGetAsEntry)return Hf(e);var t=e.webkitGetAsEntry();return t&&t.isDirectory?qf(t):Hf(e)}function Wf(e){return e.reduce(function(e,t){return function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(Df(arguments[t]));return e}(e,Array.isArray(t)?Wf(t):[t])},[])}function Hf(e){var t=e.getAsFile();if(!t)return Promise.reject(e+" is not a File");var n=If(t);return Promise.resolve(n)}function Gf(e){return Af(this,void 0,void 0,function(){return Rf(this,function(t){return[2,e.isDirectory?qf(e):$f(e)]})})}function qf(e){var t=e.createReader();return new Promise(function(e,n){var r=[];!function o(){var a=this;t.readEntries(function(t){return Af(a,void 0,void 0,function(){var a,i,l;return Rf(this,function(u){switch(u.label){case 0:if(t.length)return[3,5];u.label=1;case 1:return u.trys.push([1,3,,4]),[4,Promise.all(r)];case 2:return a=u.sent(),e(a),[3,4];case 3:return i=u.sent(),n(i),[3,4];case 4:return[3,6];case 5:l=Promise.all(t.map(Gf)),r.push(l),o(),u.label=6;case 6:return[2]}})})},function(e){n(e)})}()})}function $f(e){return Af(this,void 0,void 0,function(){return Rf(this,function(t){return[2,new Promise(function(t,n){e.file(function(n){var r=If(n,e.fullPath);t(r)},function(e){n(e)})})]})})}var Yf=n(78),Kf=n.n(Yf);var Qf="undefined"!=typeof document&&"multiple"in document.createElement("input");function Xf(e,t){return"application/x-moz-file"===e.type||Kf()(e,t)}function Jf(e){return"function"==typeof e.isPropagationStopped?e.isPropagationStopped():void 0!==e.cancelBubble&&e.cancelBubble}function Zf(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,function(e){return"Files"===e||"application/x-moz-file"===e}):!!e.target&&!!e.target.files}function ed(e){e.preventDefault()}function td(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return t.some(function(t){return!Jf(e)&&t&&t.apply(void 0,[e].concat(r)),Jf(e)})}}function nd(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function rd(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,a=void 0;try{for(var i,l=e[Symbol.iterator]();!(r=(i=l.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw a}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function od(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){ad(e,t,n[t])})}return e}function ad(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function id(e){return(id="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ld(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ud=Object(S.forwardRef)(function(e,t){var n=e.children,r=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.accept,n=e.disabled,r=void 0!==n&&n,o=e.getFilesFromEvent,a=void 0===o?Lf:o,i=e.maxSize,l=void 0===i?1/0:i,u=e.minSize,s=void 0===u?0:u,c=e.multiple,p=void 0===c||c,f=e.onDragEnter,d=e.onDragLeave,h=e.onDragOver,m=e.onDrop,g=e.onDropAccepted,b=e.onDropRejected,y=e.onFileDialogCancel,v=e.preventDropOnDocument,E=void 0===v||v,w=Object(S.useRef)(null),O=Object(S.useRef)(null),x=rd(Object(S.useReducer)(pd,cd),2),k=x[0],_=x[1],C=k.isFocused,j=k.isFileDialogActive,P=k.draggedFiles,T=function(){O.current&&(_({type:"openDialog"}),O.current.value=null,O.current.click())},A=function(){j&&setTimeout(function(){if(O.current){var e=O.current.files;e.length||(_({type:"closeDialog"}),"function"==typeof y&&y())}},300)};Object(S.useEffect)(function(){return window.addEventListener("focus",A,!1),function(){window.removeEventListener("focus",A,!1)}},[O,j,y]);var R=Object(S.useCallback)(function(e){w.current&&w.current.isEqualNode(e.target)&&(32!==e.keyCode&&13!==e.keyCode||(e.preventDefault(),T()))},[w,O]),D=Object(S.useCallback)(function(){_({type:"focus"})},[]),N=Object(S.useCallback)(function(){_({type:"blur"})},[]),I=Object(S.useCallback)(function(){!function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.navigator.userAgent;return function(e){return-1!==e.indexOf("MSIE")||-1!==e.indexOf("Trident/")}(e)||function(e){return-1!==e.indexOf("Edge/")}(e)}()?T():setTimeout(T,0)},[O]),F=rd(Object(S.useState)([]),2),L=F[0],M=F[1],U=function(e){w.current&&w.current.contains(e.target)||(e.preventDefault(),M([]))};Object(S.useEffect)(function(){return E&&(document.addEventListener("dragover",ed,!1),document.addEventListener("drop",U,!1)),function(){E&&(document.removeEventListener("dragover",ed),document.removeEventListener("drop",U))}},[w,E]);var B=Object(S.useCallback)(function(e){e.preventDefault(),e.persist(),-1===L.indexOf(e.target)&&M([].concat(nd(L),[e.target])),Zf(e)&&Promise.resolve(a(e)).then(function(t){Jf(e)||(_({draggedFiles:t,type:"setDraggedFiles"}),f&&f(e))})},[L,a,f]),z=Object(S.useCallback)(function(e){if(e.preventDefault(),e.persist(),e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(e){}return Zf(e)&&h&&h(e),!1},[h]),V=Object(S.useCallback)(function(e){e.preventDefault(),e.persist();var t=nd(L.filter(function(t){return t!==e.target&&w.current&&w.current.contains(t)}));M(t),t.length>0||(_({type:"setDraggedFiles",draggedFiles:[]}),Zf(e)&&d&&d(e))},[w,L,d]),W=Object(S.useCallback)(function(e){e.preventDefault(),e.persist(),M([]),_({type:"reset"}),Zf(e)&&Promise.resolve(a(e)).then(function(n){if(!Jf(e)){var r=[],o=[];n.forEach(function(e){Xf(e,t)&&function(e,t,n){return e.size<=t&&e.size>=n}(e,l,s)?r.push(e):o.push(e)}),!p&&r.length>1&&o.push.apply(o,nd(r.splice(0))),_({acceptedFiles:r,rejectedFiles:o,type:"setFiles"}),m&&m(r,o,e),o.length>0&&b&&b(o,e),r.length>0&&g&&g(r,e)}})},[p,t,s,l,a,m,g,b]),H=function(e){return r?null:e},G=Object(S.useMemo)(function(){return function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.refKey,o=void 0===n?"ref":n,a=t.onKeyDown,i=t.onFocus,l=t.onBlur,u=t.onClick,s=t.onDragEnter,c=t.onDragOver,p=t.onDragLeave,f=t.onDrop,d=ld(t,["refKey","onKeyDown","onFocus","onBlur","onClick","onDragEnter","onDragOver","onDragLeave","onDrop"]);return od((ad(e={onKeyDown:H(td(a,R)),onFocus:H(td(i,D)),onBlur:H(td(l,N)),onClick:H(td(u,I)),onDragEnter:H(td(s,B)),onDragOver:H(td(c,z)),onDragLeave:H(td(p,V)),onDrop:H(td(f,W))},o,w),ad(e,"tabIndex",r?-1:0),e),d)}},[w,R,D,N,I,B,z,V,W,r]),q=Object(S.useCallback)(function(e){e.stopPropagation()},[]),$=Object(S.useMemo)(function(){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.refKey,r=void 0===n?"ref":n,o=e.onChange,a=e.onClick,i=ld(e,["refKey","onChange","onClick"]),l=ad({accept:t,type:"file",style:{display:"none"},multiple:Qf&&p,onChange:H(td(o,W)),onClick:H(td(a,q)),autoComplete:"off",tabIndex:-1},r,O);return od({},l,i)}},[O,t,p,W,r]),Y=P.length,K=p||Y<=1,Q=Y>0&&function(e,t){return e.every(function(e){return Xf(e,t)})}(P,t);return od({},k,{isDragAccept:Q,isDragReject:Y>0&&(!Q||!K),isFocused:C&&!r,getRootProps:G,getInputProps:$,rootRef:w,inputRef:O,open:H(T)})}(ld(e,["children"])),o=r.open,a=ld(r,["open"]);return Object(S.useEffect)(function(){return"function"==typeof t?t({open:o}):"object"===id(t)&&null!==t&&(t.current={open:o}),function(){"function"==typeof t?t(null):"object"===id(t)&&null!==t&&(t.current=null)}}),k.a.createElement(S.Fragment,null,n(od({},a,{open:o})))});ud.displayName="Dropzone",ud.propTypes={children:R.a.func,accept:R.a.oneOfType([R.a.string,R.a.arrayOf(R.a.string)]),multiple:R.a.bool,preventDropOnDocument:R.a.bool,minSize:R.a.number,maxSize:R.a.number,disabled:R.a.bool,getFilesFromEvent:R.a.func,onFileDialogCancel:R.a.func,onDragEnter:R.a.func,onDragLeave:R.a.func,onDragOver:R.a.func,onDrop:R.a.func,onDropAccepted:R.a.func,onDropRejected:R.a.func};var sd=ud,cd={isFocused:!1,isFileDialogActive:!1,isDragActive:!1,isDragAccept:!1,isDragReject:!1,draggedFiles:[],acceptedFiles:[],rejectedFiles:[]};function pd(e,t){switch(t.type){case"focus":return od({},e,{isFocused:!0});case"blur":return od({},e,{isFocused:!1});case"openDialog":return od({},e,{isFileDialogActive:!0});case"closeDialog":return od({},e,{isFileDialogActive:!1});case"setDraggedFiles":var n=t.draggedFiles;return od({},e,{draggedFiles:n,isDragActive:n.length>0});case"setFiles":return od({},e,{acceptedFiles:t.acceptedFiles,rejectedFiles:t.rejectedFiles});case"reset":return od({},e,{isFileDialogActive:!1,isDragActive:!1,draggedFiles:[]});default:return e}}var fd=function(e,t){return function(n){return It(jt.export.file(e,t)).then(function(e){n({type:hn,data:e.data})}).catch(function(e){n({type:yn,error:e})}),n({type:mn})}},dd=function(e){return document.location.href=e,{type:"NOTHING"}},hd=function(e,t){return function(n){return It(jt.import.upload(t,e)).then(function(e){n({type:bn,total:e.imported})}).catch(function(e){n({type:yn,error:e})}),n({type:gn,file:e})}},md=function(){return{type:vn}},gd=function(e){return{type:En,file:e}},bd=function(){return function(e){It(jt.import.pluginList()).then(function(t){e({type:wn,importers:t.importers})}).catch(function(t){e({type:yn,error:t})})}},yd=function(e){return function(t){return It(jt.import.pluginImport(e)).then(function(e){t({type:bn,total:e.imported})}).catch(function(e){t({type:yn,error:e})}),t({type:gn})}},vd=function(e,t){return Redirectioni10n.pluginRoot+"&sub=io&export="+e+"&exporter="+t+"&_wpnonce="+Ot()},Ed=function(e){var t=e.plugin,n=e.doImport,r=t.name,o=t.total;return k.a.createElement("div",{className:"plugin-importer"},k.a.createElement("p",null,k.a.createElement("strong",null,r)," (",Object(j.translate)("total = ")+o," )"),k.a.createElement("button",{onClick:function(){n(t)},className:"button-secondary"},Object(j.translate)("Import from %s",{args:r})))};n(144);function wd(e){return(wd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Od(){return(Od=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function xd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Sd(e){return(Sd=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function kd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _d(e,t){return(_d=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Cd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var jd=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Sd(t).call(this,e),n=!o||"object"!==wd(o)&&"function"!=typeof o?kd(r):o,Cd(kd(n),"onView",function(){n.props.onExport(n.state.module,n.state.format)}),Cd(kd(n),"onDownload",function(){n.props.onDownloadFile(vd(n.state.module,n.state.format))}),Cd(kd(n),"onEnter",function(){n.props.io.importingStatus!==Be&&n.setState({hover:!0})}),Cd(kd(n),"onLeave",function(){n.setState({hover:!1})}),Cd(kd(n),"onImport",function(){n.props.onImport(n.props.io.file,n.state.group)}),Cd(kd(n),"onCancel",function(){n.setState({hover:!1}),n.props.onClearFile()}),Cd(kd(n),"onInput",function(e){var t=e.target;n.setState(Cd({},t.name,t.value)),"module"===t.name&&"everything"===t.value&&n.setState({format:"json"})}),Cd(kd(n),"onDrop",function(e){var t=n.props.io.importingStatus;e.length>0&&t!==Be&&n.props.onAddFile(e[0]),n.setState({hover:!1,group:n.props.group.rows[0].id})}),Cd(kd(n),"doImport",function(e){confirm(Object(j.translate)("Are you sure you want to import from %s?",{args:e.name}))&&n.props.pluginImport(e.id)}),n.props.onLoadGroups(),n.props.onLoadImport(),n.state={group:0,hover:!1,module:"all",format:"json"},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_d(e,t)}(t,k.a.Component),n=t,(r=[{key:"renderGroupSelect",value:function(){var e=this.props.group.rows;return k.a.createElement("div",{className:"groups"},Object(j.translate)("Import to group")," ",k.a.createElement(Tr,{items:lc(e),name:"group",value:this.state.group,onChange:this.onInput}))}},{key:"renderInitialDrop",value:function(e){return k.a.createElement(k.a.Fragment,null,k.a.createElement("h3",null,Object(j.translate)("Import a CSV, .htaccess, or JSON file.")),k.a.createElement("p",null,Object(j.translate)("Click 'Add File' or drag and drop here.")),k.a.createElement("button",{type:"button",className:"button-secondary",onClick:e},Object(j.translate)("Add File")))}},{key:"renderDropBeforeUpload",value:function(){var e=this.props.io.file,t="application/json"===e.type;return k.a.createElement(k.a.Fragment,null,k.a.createElement("h3",null,Object(j.translate)("File selected")),k.a.createElement("p",null,k.a.createElement("code",null,e.name)),!t&&this.renderGroupSelect(),k.a.createElement("button",{className:"button-primary",onClick:this.onImport},Object(j.translate)("Upload")),"  ",k.a.createElement("button",{className:"button-secondary",onClick:this.onCancel},Object(j.translate)("Cancel")))}},{key:"renderUploading",value:function(){var e=this.props.io.file;return k.a.createElement(k.a.Fragment,null,k.a.createElement("h3",null,Object(j.translate)("Importing")),k.a.createElement("p",null,k.a.createElement("code",null,e.name)),k.a.createElement("div",{className:"is-placeholder"},k.a.createElement("div",{className:"placeholder-loading"})))}},{key:"renderUploaded",value:function(){var e=this.props.io.lastImport;return k.a.createElement(k.a.Fragment,null,k.a.createElement("h3",null,Object(j.translate)("Finished importing")),k.a.createElement("p",null,Object(j.translate)("Total redirects imported:")," ",e),0===e&&k.a.createElement("p",null,Object(j.translate)("Double-check the file is the correct format!")),k.a.createElement("button",{className:"button-secondary",onClick:this.onCancel},Object(j.translate)("OK")))}},{key:"renderDropzoneContent",value:function(e){var t,n=e.getInputProps,r=e.getRootProps,o=this.state.hover,a=this.props.io,i=a.importingStatus,l=a.file,u=a.lastImport,s=Wr()({dropzone:!0,"dropzone-dropped":!1!==l,"dropzone-importing":i===Be,"dropzone-hover":o}),c=r({onClick:function(e){return e.stopPropagation()},onKeyDown:function(e){32!==e.keyCode&&13!==e.keyCode||e.stopPropagation()}});return t=i===Be?this.renderUploading():i===Ve&&!1!==u&&!1===l?this.renderUploaded():!1===l?this.renderInitialDrop(e.open):this.renderDropBeforeUpload(),k.a.createElement("div",Od({className:s},c),k.a.createElement("input",n()),t)}},{key:"renderExport",value:function(e){return k.a.createElement("div",null,k.a.createElement("textarea",{className:"module-export",rows:"14",readOnly:!0,value:e}),k.a.createElement("input",{className:"button-secondary",type:"submit",value:Object(j.translate)("Close"),onClick:this.onCancel}))}},{key:"renderExporting",value:function(){return k.a.createElement("div",{className:"loader-wrapper loader-textarea"},k.a.createElement("div",{className:"placeholder-loading"}))}},{key:"renderImporters",value:function(e){var t=this;return k.a.createElement("div",null,k.a.createElement("h3",null,Object(j.translate)("Plugin Importers")),k.a.createElement("p",null,Object(j.translate)("The following redirect plugins were detected on your site and can be imported from.")),e.map(function(e,n){return k.a.createElement(Ed,{plugin:e,key:n,doImport:t.doImport})}))}},{key:"render",value:function(){var e=this,t=this.props.io,n=t.exportData,r=t.exportStatus,o=t.importers;return k.a.createElement("div",{className:"import"},k.a.createElement("h2",null,Object(j.translate)("Import")),k.a.createElement(sd,{multiple:!1,onDrop:this.onDrop,onDragLeave:this.onLeave,onDragEnter:this.onEnter},function(t){return e.renderDropzoneContent(t)}),k.a.createElement("p",null,Object(j.translate)("All imports will be appended to the current database - nothing is merged.")),k.a.createElement("div",{className:"inline-notice notice-warning"},k.a.createElement("p",null,Object(j.translate)("{{strong}}CSV file format{{/strong}}: {{code}}source URL, target URL{{/code}} - and can be optionally followed with {{code}}regex, http code{{/code}} ({{code}}regex{{/code}} - 0 for no, 1 for yes).",{components:{code:k.a.createElement("code",null),strong:k.a.createElement("strong",null)}})),k.a.createElement("p",null,Object(j.translate)('CSV does not include all information, and everything is imported/exported as "URL only" matches. Use the JSON format for a full set of data.'))),k.a.createElement("h2",null,Object(j.translate)("Export")),k.a.createElement("p",null,Object(j.translate)("Export to CSV, Apache .htaccess, Nginx, or Redirection JSON. The JSON format contains full information, and other formats contain partial information appropriate to the format.")),k.a.createElement("select",{name:"module",onChange:this.onInput,value:this.state.module},k.a.createElement("option",{value:"0"},Object(j.translate)("Everything")),k.a.createElement("option",{value:"1"},Object(j.translate)("WordPress redirects")),k.a.createElement("option",{value:"2"},Object(j.translate)("Apache redirects")),k.a.createElement("option",{value:"3"},Object(j.translate)("Nginx redirects"))),k.a.createElement("select",{name:"format",onChange:this.onInput,value:this.state.format},k.a.createElement("option",{value:"json"},Object(j.translate)("Complete data (JSON)")),k.a.createElement("option",{value:"csv"},Object(j.translate)("CSV")),k.a.createElement("option",{value:"apache"},Object(j.translate)("Apache .htaccess")),k.a.createElement("option",{value:"nginx"},Object(j.translate)("Nginx rewrite rules")))," ",k.a.createElement("button",{className:"button-primary",onClick:this.onView},Object(j.translate)("View"))," ",k.a.createElement("button",{className:"button-secondary",onClick:this.onDownload},Object(j.translate)("Download")),r===Be&&this.renderExporting(),n&&r!==Be&&this.renderExport(n),k.a.createElement("h2",null,"Export Logs"),k.a.createElement(si,{logType:"log",title:Object(j.translate)("Export redirect")}),k.a.createElement("br",null),k.a.createElement(si,{logType:"404",title:Object(j.translate)("Export 404")}),o.length>0&&this.renderImporters(o))}}])&&xd(n.prototype,r),o&&xd(n,o),t}();var Pd=ve(function(e){return{group:e.group,io:e.io}},function(e){return{onLoadGroups:function(){e(hf())},onImport:function(t,n){e(hd(t,n))},onAddFile:function(t){e(gd(t))},onClearFile:function(){e(md())},onExport:function(t,n){e(fd(t,n))},onDownloadFile:function(t){e(dd(t))},onLoadImport:function(){e(bd())},pluginImport:function(t){e(yd(t))}}})(jd);function Td(e){return(Td="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ad(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Rd(e){return(Rd=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Dd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nd(e,t){return(Nd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Id(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Fd=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Rd(t).call(this,e),n=!o||"object"!==Td(o)&&"function"!=typeof o?Dd(r):o,Id(Dd(n),"onChange",function(e){n.setState({selected:e.target.value})}),Id(Dd(n),"onSubmit",function(){n.props.onFilter(n.state.selected)}),n.state={selected:e.selected},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Nd(e,t)}(t,k.a.Component),n=t,(r=[{key:"render",value:function(){var e=this.props,t=e.options,n=e.isEnabled;return k.a.createElement("div",{className:"alignleft actions"},k.a.createElement(Tr,{items:t,value:this.state.selected,name:"filter",onChange:this.onChange,isEnabled:n}),k.a.createElement("button",{className:"button",onClick:this.onSubmit,disabled:!n},Object(j.translate)("Filter")))}}])&&Ad(n.prototype,r),o&&Ad(n,o),t}();function Ld(e){return(Ld="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Md(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ud(e){return(Ud=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Bd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zd(e,t){return(zd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Vd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Wd=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Ud(t).call(this,e),n=!o||"object"!==Ld(o)&&"function"!=typeof o?Bd(r):o,Vd(Bd(n),"onEdit",function(e){e.preventDefault(),n.setState({editing:!n.state.editing})}),Vd(Bd(n),"onDelete",function(e){e.preventDefault(),n.props.onTableAction("delete",n.props.item.id)}),Vd(Bd(n),"onDisable",function(e){e.preventDefault(),n.props.onTableAction("disable",n.props.item.id)}),Vd(Bd(n),"onEnable",function(e){e.preventDefault(),n.props.onTableAction("enable",n.props.item.id)}),Vd(Bd(n),"onSelected",function(){n.props.onSetSelected([n.props.item.id])}),Vd(Bd(n),"onChange",function(e){var t=e.target;n.setState({name:t.value})}),Vd(Bd(n),"onSave",function(e){n.onEdit(e),n.props.onSaveGroup(n.props.item.id,{name:n.state.name,moduleId:n.state.moduleId})}),Vd(Bd(n),"onSelect",function(e){var t=e.target;n.setState({moduleId:parseInt(t.value,10)})}),n.state={editing:!1,name:e.item.name,moduleId:e.item.module_id},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&zd(e,t)}(t,k.a.Component),n=t,(r=[{key:"renderLoader",value:function(){return k.a.createElement("div",{className:"loader-wrapper"},k.a.createElement("div",{className:"placeholder-loading loading-small",style:{top:"0px"}}))}},{key:"renderActions",value:function(e){var t=this.props.item,n=t.id,r=t.enabled;return k.a.createElement(pi,{disabled:e},k.a.createElement("a",{href:"#",onClick:this.onEdit},Object(j.translate)("Edit"))," | ",k.a.createElement("a",{href:"#",onClick:this.onDelete},Object(j.translate)("Delete"))," | ",k.a.createElement("a",{href:Redirectioni10n.pluginRoot+"&filterby=group&filter="+n},Object(j.translate)("View Redirects"))," | ",r&&k.a.createElement("a",{href:"#",onClick:this.onDisable},Object(j.translate)("Disable")),!r&&k.a.createElement("a",{href:"#",onClick:this.onEnable},Object(j.translate)("Enable")))}},{key:"renderEdit",value:function(){return k.a.createElement("form",{onSubmit:this.onSave},k.a.createElement("table",{className:"edit-groups"},k.a.createElement("tbody",null,k.a.createElement("tr",null,k.a.createElement("th",{width:"70"},Object(j.translate)("Name")),k.a.createElement("td",null,k.a.createElement("input",{type:"text",name:"name",value:this.state.name,onChange:this.onChange}))),k.a.createElement("tr",null,k.a.createElement("th",{width:"70"},Object(j.translate)("Module")),k.a.createElement("td",null,k.a.createElement(Tr,{name:"module_id",value:this.state.moduleId,onChange:this.onSelect,items:[{value:1,text:"WordPress"},{value:2,text:"Apache"},{value:3,text:"Nginx"}]}))),k.a.createElement("tr",null,k.a.createElement("th",{width:"70"}),k.a.createElement("td",null,k.a.createElement("div",{className:"table-actions"},k.a.createElement("input",{className:"button-primary",type:"submit",name:"save",value:Object(j.translate)("Save")}),"  ",k.a.createElement("input",{className:"button-secondary",type:"submit",name:"cancel",value:Object(j.translate)("Cancel"),onClick:this.onEdit})),2===parseInt(this.state.moduleId,10)&&k.a.createElement("p",null,k.a.createElement("br",null),Object(j.translate)("Note that you will need to set the Apache module path in your Redirection options.")))))))}},{key:"getName",value:function(e,t){return t?e:k.a.createElement("strike",null,e)}},{key:"render",value:function(){var e,t,n=this.props.item,r=n.name,o=n.redirects,a=n.id,i=n.module_id,l=n.enabled,u=this.props,s=u.selected,c=u.status,p=c===Be,f=c===We,d=!l||p||f;return k.a.createElement("tr",{className:d?"disabled":""},k.a.createElement("th",{scope:"row",className:"check-column"},!f&&k.a.createElement("input",{type:"checkbox",name:"item[]",value:a,disabled:p,checked:s,onChange:this.onSelected}),f&&k.a.createElement(ko,{size:"small"})),k.a.createElement("td",{className:"column-primary column-name"},!this.state.editing&&this.getName(r,l),this.state.editing?this.renderEdit():this.renderActions(f)),k.a.createElement("td",{className:"column-redirects"},o),k.a.createElement("td",{className:"column-module"},(e=i,(t=[{value:1,text:"WordPress"},{value:2,text:"Apache"},{value:3,text:"Nginx"}].find(function(t){return t.value===parseInt(e,10)}))?t.text:"")))}}])&&Md(n.prototype,r),o&&Md(n,o),t}();var Hd=ve(null,function(e){return{onSetSelected:function(t){e(vf(t))},onSaveGroup:function(t,n){e(ff(t,n))},onTableAction:function(t,n){e(df(t,n))}}})(Wd);function Gd(e){return(Gd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function qd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function $d(e){return($d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Yd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Kd(e,t){return(Kd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Xd=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=$d(t).call(this,e),n=!o||"object"!==Gd(o)&&"function"!=typeof o?Yd(r):o,Qd(Yd(n),"onRenderRow",function(e,t,r){var o=n.props.group.saving,a=r.isLoading?Be:Ve,i=-1!==o.indexOf(e.id)?We:a;return k.a.createElement(Hd,{item:e,key:t,selected:r.isSelected,status:i})}),Qd(Yd(n),"onChange",function(e){n.setState({name:e.target.value})}),Qd(Yd(n),"onModule",function(e){n.setState({moduleId:e.target.value})}),Qd(Yd(n),"onSubmit",function(e){e.preventDefault(),n.props.onCreate({id:0,name:n.state.name,moduleId:n.state.moduleId}),n.setState({name:""})}),n.props.onLoadGroups(),n.state={name:"",moduleId:1},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Kd(e,t)}(t,k.a.Component),n=t,(r=[{key:"getModules",value:function(){return[{value:"",text:Object(j.translate)("All modules")}].concat([{value:1,text:"WordPress"},{value:2,text:"Apache"},{value:3,text:"Nginx"}])}},{key:"render",value:function(){var e=this.props.group,t=e.status,n=e.total,r=e.table,o=e.rows,a=-1!==e.saving.indexOf(0);return k.a.createElement("div",null,k.a.createElement(ni,{status:t,table:r,onSearch:this.props.onSearch,ignoreFilter:["module"],key:bt(r)}),k.a.createElement(Qa,{total:n,selected:r.selected,table:r,onChangePage:this.props.onChangePage,onAction:this.props.onAction,status:t,bulk:[{id:"delete",name:Object(j.translate)("Delete")},{id:"enable",name:Object(j.translate)("Enable")},{id:"disable",name:Object(j.translate)("Disable")}]},k.a.createElement(Fd,{selected:r.filter,options:this.getModules(),onFilter:this.props.onFilter,isEnabled:!0,key:bt(r)})),k.a.createElement(Ra,{headers:[{name:"cb",check:!0},{name:"name",title:Object(j.translate)("Name"),primary:!0},{name:"redirects",title:Object(j.translate)("Redirects"),sortable:!1},{name:"module",title:Object(j.translate)("Module"),sortable:!1}],rows:o,total:n,row:this.onRenderRow,table:r,status:t,onSetAllSelected:this.props.onSetAllSelected,onSetOrderBy:this.props.onSetOrderBy}),k.a.createElement(Qa,{total:n,selected:r.selected,table:r,onChangePage:this.props.onChangePage,onAction:this.props.onAction,status:t}),k.a.createElement("h2",null,Object(j.translate)("Add Group")),k.a.createElement("p",null,Object(j.translate)("Use groups to organise your redirects. Groups are assigned to a module, which affects how the redirects in that group work. If you are unsure then stick to the WordPress module.")),k.a.createElement("form",{onSubmit:this.onSubmit},k.a.createElement("table",{className:"form-table"},k.a.createElement("tbody",null,k.a.createElement("tr",null,k.a.createElement("th",{style:{width:"50px"}},Object(j.translate)("Name")),k.a.createElement("td",null,k.a.createElement("input",{size:"30",className:"regular-text",type:"text",name:"name",value:this.state.name,onChange:this.onChange,disabled:a}),k.a.createElement(Tr,{name:"id",value:this.state.moduleId,onChange:this.onModule,items:[{value:1,text:"WordPress"},{value:2,text:"Apache"},{value:3,text:"Nginx"}],disabled:a})," ",k.a.createElement("input",{className:"button-primary",type:"submit",name:"add",value:"Add",disabled:a||""===this.state.name}))))),2===parseInt(this.state.moduleId,10)&&k.a.createElement("p",null,Object(j.translate)("Note that you will need to set the Apache module path in your Redirection options."))))}}])&&qd(n.prototype,r),o&&qd(n,o),t}();var Jd=ve(function(e){return{group:e.group}},function(e){return{onLoadGroups:function(){e(hf())},onSearch:function(t){e(bf(t))},onChangePage:function(t){e(gf(t))},onAction:function(t){e(df(t))},onSetAllSelected:function(t){e(Ef(t))},onSetOrderBy:function(t,n){e(mf(t,n))},onFilter:function(t){e(yf("module",t))},onCreate:function(t){e(pf(t))}}})(Xd),Zd=function(e){var t=e.item,n=t.action_code,r=t.action_data,o=e.http,a=o.status,i=o.headers,l=void 0===i?[]:i,u=l.find(function(e){return"location"===e.name}),s=l.find(function(e){return"x-redirect-agent"===e.name}),c=n===a&&u&&u.value===r.url&&s,p=r.url_from?r.url_from:r.url;return k.a.createElement("div",{className:"redirection-httpcheck_results"},k.a.createElement("div",{className:"redirection-httpcheck_status"},c&&k.a.createElement("span",{className:"dashicons dashicons-yes"}),!c&&k.a.createElement("span",{className:"dashicons dashicons-no"})),k.a.createElement("div",{className:"redirection-httpcheck_info"},k.a.createElement("p",null,k.a.createElement("strong",null,Object(j.translate)("Expected"),": "),k.a.createElement("span",null,Object(j.translate)("{{code}}%(status)d{{/code}} to {{code}}%(target)s{{/code}}",{args:{status:n,target:p},components:{code:k.a.createElement("code",null)}}))),k.a.createElement("p",null,k.a.createElement("strong",null,Object(j.translate)("Found"),": "),k.a.createElement("span",null,u?Object(j.translate)("{{code}}%(status)d{{/code}} to {{code}}%(url)s{{/code}}",{args:{status:a,url:u.value},components:{code:k.a.createElement("code",null)}}):a)),k.a.createElement("p",null,k.a.createElement("strong",null,Object(j.translate)("Agent"),": "),k.a.createElement("span",null,s?Object(j.translate)("Using Redirection"):Object(j.translate)("Not using Redirection"))),u&&!s&&k.a.createElement("p",null,k.a.createElement(Ar,{url:"https://redirection.me/support/problems/url-not-redirecting/"},Object(j.translate)("What does this mean?")))))};n(146);function eh(e){return(eh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function th(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function nh(e,t){return!t||"object"!==eh(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function rh(e){return(rh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function oh(e,t){return(oh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ah=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(n=nh(this,rh(t).call(this,e))).props.onGet((r=n.getServer(e.item),o=e.item.url,r.replace(/\/$/,"")+"/"+o.replace(/^\//,""))),n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&oh(e,t)}(t,k.a.Component),n=t,(r=[{key:"getServer",value:function(e){return"server"===e.match_type?e.action_data.server:document.location.origin}},{key:"componentWillUnmount",value:function(){this.props.onClearHttp()}},{key:"renderError",value:function(){var e=this.props.error;return k.a.createElement("div",{className:"redirection-modal_error"},k.a.createElement("h2",null,Object(j.translate)("Error")),k.a.createElement("p",null,Object(j.translate)("Something went wrong obtaining this information")),k.a.createElement("p",null,k.a.createElement("code",null,e.message)))}},{key:"componentDidUpdate",value:function(){this.props.parent.resize()}},{key:"render",value:function(){var e=this.props,t=e.status,n=e.http,r=e.item,o=Wr()({"redirection-httpcheck":!0,"redirection-modal_loading":t===Be,"redirection-httpcheck_small":t===ze});return k.a.createElement("div",{className:o},t===Be&&k.a.createElement(ko,null),t===ze&&this.renderError(),t===Ve&&n&&k.a.createElement(k.a.Fragment,null,k.a.createElement("h2",null,Object(j.translate)("Check redirect for: {{code}}%s{{/code}}",{args:[n.url],components:{code:k.a.createElement("code",null)}})),k.a.createElement(Zd,{http:n,item:r}),k.a.createElement(_i,null)))}}])&&th(n.prototype,r),o&&th(n,o),t}();var ih=ve(function(e){var t=e.info;return{status:t.status,error:t.error,http:t.http}},function(e){return{onGet:function(t){e(xo(t))},onClearHttp:function(){e(So())}}})(ah);function lh(e){return(lh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function uh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function sh(e){return(sh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ch(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ph(e,t){return(ph=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function fh(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var dh=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=sh(t).call(this,e),n=!o||"object"!==lh(o)&&"function"!=typeof o?ch(r):o,fh(ch(n),"onEdit",function(e){e.preventDefault(),n.setState({editing:!0})}),fh(ch(n),"onCancel",function(e){e.preventDefault(),n.setState({editing:!1})}),fh(ch(n),"onDelete",function(e){e.preventDefault(),n.props.onTableAction("delete",n.props.item.id)}),fh(ch(n),"onDisable",function(e){e.preventDefault(),n.props.onTableAction("disable",n.props.item.id)}),fh(ch(n),"onEnable",function(e){e.preventDefault(),n.props.onTableAction("enable",n.props.item.id)}),fh(ch(n),"onSelected",function(){n.props.onSetSelected([n.props.item.id])}),fh(ch(n),"onCheck",function(e){e.preventDefault(),n.setState({showCheck:!0})}),fh(ch(n),"closeCheck",function(){n.setState({showCheck:!1})}),n.state={editing:!1,showCheck:!1},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ph(e,t)}(t,k.a.Component),n=t,(r=[{key:"getMenu",value:function(){var e=this.props.item,t=e.enabled,n=e.regex,r=e.action_type,o=[];return t&&o.push([Object(j.translate)("Edit"),this.onEdit]),o.push([Object(j.translate)("Delete"),this.onDelete]),t?(o.push([Object(j.translate)("Disable"),this.onDisable]),n||"url"!==r||o.push([Object(j.translate)("Check Redirect"),this.onCheck])):o.push([Object(j.translate)("Enable"),this.onEnable]),o.map(function(e,t){return k.a.createElement("a",{key:t,href:"#",onClick:e[1]},e[0])}).reduce(function(e,t){return[e," | ",t]})}},{key:"getCode",value:function(){var e=this.props.item,t=e.action_code,n=e.action_type;return"pass"===n?Object(j.translate)("pass"):"nothing"===n?"-":t}},{key:"getTarget",value:function(){var e=this.props.item,t=e.match_type,n=e.action_data;return t===Ms?n.url:null}},{key:"getServerUrl",value:function(e,t){return"server"===t?this.props.item.action_data.server+e:e}},{key:"getUrl",value:function(e,t){return e=this.getServerUrl(e,t),this.props.item.enabled?e:k.a.createElement("strike",null,e)}},{key:"getName",value:function(e,t){var n=this.props.item,r=n.regex,o=n.match_type;if(t)return this.props.item.enabled?t:k.a.createElement("strike",null,t);var a=this.getUrl(e,o);return r?a:k.a.createElement(Ar,{url:this.getServerUrl(e,o)},a)}},{key:"renderSource",value:function(e,t,n){var r=this.getName(e,t);return k.a.createElement("td",{className:"column-primary column-url has-row-actions"},r,k.a.createElement("br",null),k.a.createElement("span",{className:"target"},this.getTarget()),k.a.createElement(pi,{disabled:n},this.getMenu()))}},{key:"renderEditColumns",value:function(){return k.a.createElement("td",{className:"column-primary column-url",colSpan:"4"},k.a.createElement(Pp,{item:this.props.item,onCancel:this.onCancel}))}},{key:"renderCheck",value:function(){return k.a.createElement(Xr,{onClose:this.closeCheck,padding:!1},k.a.createElement(ih,{item:this.props.item}))}},{key:"renderViewColumns",value:function(e){var t=this.props.item,n=t.url,r=t.hits,o=t.last_access,a=t.title,i=t.position;return k.a.createElement(k.a.Fragment,null,this.renderSource(n,a,e),k.a.createElement("td",{className:"column-position"},Object(j.numberFormat)(i),this.state.showCheck&&this.renderCheck()),k.a.createElement("td",{className:"column-last_count"},Object(j.numberFormat)(r)),k.a.createElement("td",{className:"column_last_access"},o))}},{key:"render",value:function(){var e=this.props.item,t=e.id,n=e.enabled,r=this.props,o=r.selected,a=r.status,i=a===Be,l=a===We,u=!n||i||l,s=Wr()({disabled:u});return k.a.createElement("tr",{className:s},k.a.createElement("th",{scope:"row",className:"check-column"},!l&&k.a.createElement("input",{type:"checkbox",name:"item[]",value:t,disabled:i,checked:o,onChange:this.onSelected}),l&&k.a.createElement(ko,{size:"small"})),k.a.createElement("td",{className:"column-code"},this.getCode()),this.state.editing?this.renderEditColumns():this.renderViewColumns(l))}}])&&uh(n.prototype,r),o&&uh(n,o),t}();var hh=ve(null,function(e){return{onSetSelected:function(t){e(bp(t))},onTableAction:function(t,n){e(pp(t,n))}}})(dh);function mh(e){return(mh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function gh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function bh(e){return(bh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function yh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function vh(e,t){return(vh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Eh=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,(n=!(o=bh(t).call(this,e))||"object"!==mh(o)&&"function"!=typeof o?yh(r):o).handleRender=n.renderRow.bind(yh(n)),n.props.onLoadRedirects(),n.props.onLoadGroups(),n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&vh(e,t)}(t,k.a.Component),n=t,(r=[{key:"renderRow",value:function(e,t,n){var r=this.props.redirect.saving,o=n.isLoading?Be:Ve,a=-1!==r.indexOf(e.id)?We:o;return k.a.createElement(hh,{item:e,key:t,selected:n.isSelected,status:a})}},{key:"getGroups",value:function(e){return[{value:0,text:Object(j.translate)("All groups")}].concat(lc(e))}},{key:"renderNew",value:function(){var e=this.props.redirect.addTop,t=Wr()({"add-new":!0,edit:!0,addTop:e});return k.a.createElement(k.a.Fragment,null,!e&&k.a.createElement("h2",null,Object(j.translate)("Add new redirection")),k.a.createElement("div",{className:t},k.a.createElement(Pp,{item:$s("",0,this.props.defaultFlags),saveButton:Object(j.translate)("Add Redirect"),autoFocus:e})))}},{key:"canFilter",value:function(e,t){return e.status===Ve&&t!==Be}},{key:"render",value:function(){var e=this.props.redirect,t=e.status,n=e.total,r=e.table,o=e.rows,a=e.addTop,i=this.props.group,l=t===Ve&&i.status===Ve;return k.a.createElement("div",{className:"redirects"},a&&this.renderNew(),k.a.createElement(ni,{status:t,table:r,onSearch:this.props.onSearch,ignoreFilter:["group"]}),k.a.createElement(Qa,{total:n,selected:r.selected,table:r,onChangePage:this.props.onChangePage,onAction:this.props.onAction,bulk:[{id:"delete",name:Object(j.translate)("Delete")},{id:"enable",name:Object(j.translate)("Enable")},{id:"disable",name:Object(j.translate)("Disable")},{id:"reset",name:Object(j.translate)("Reset hits")}],status:t},k.a.createElement(Fd,{selected:r.filter?r.filter:"0",options:this.getGroups(i.rows),isEnabled:this.canFilter(i,t),onFilter:this.props.onFilter,key:bt(r)})),k.a.createElement(Ra,{headers:[{name:"cb",check:!0},{name:"code",title:Object(j.translate)("Type"),sortable:!1},{name:"url",title:Object(j.translate)("URL"),primary:!0},{name:"position",title:Object(j.translate)("Pos")},{name:"last_count",title:Object(j.translate)("Hits")},{name:"last_access",title:Object(j.translate)("Last Access")}],rows:o,total:n,row:this.handleRender,table:r,status:t,onSetAllSelected:this.props.onSetAllSelected,onSetOrderBy:this.props.onSetOrderBy}),k.a.createElement(Qa,{total:n,selected:r.selected,table:r,onChangePage:this.props.onChangePage,onAction:this.props.onAction,status:t}),l&&!a&&this.renderNew())}}])&&gh(n.prototype,r),o&&gh(n,o),t}();var wh=ve(function(e){return{redirect:e.redirect,group:e.group,defaultFlags:Xi(e)}},function(e){return{onLoadGroups:function(){e(hf())},onLoadRedirects:function(t){e(fp(t))},onSearch:function(t){e(mp(t))},onChangePage:function(t){e(hp(t))},onAction:function(t){e(pp(t))},onSetAllSelected:function(t){e(yp(t))},onSetOrderBy:function(t,n){e(dp(t,n))},onFilter:function(t){e(gp("group",t))}}})(Eh),Oh=!!document.documentElement.currentStyle,xh={"min-height":"0","max-height":"none",height:"0",visibility:"hidden",overflow:"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},Sh=["letter-spacing","line-height","font-family","font-weight","font-size","font-style","tab-size","text-rendering","text-transform","width","text-indent","padding-top","padding-right","padding-bottom","padding-left","border-top-width","border-right-width","border-bottom-width","border-left-width","box-sizing"],kh={},_h=document.createElement("textarea"),Ch=function(e){Object.keys(xh).forEach(function(t){e.style.setProperty(t,xh[t],"important")})};function jh(e,t,n,r,o){void 0===n&&(n=!1),void 0===r&&(r=null),void 0===o&&(o=null),null===_h.parentNode&&document.body.appendChild(_h);var a=function(e,t,n){void 0===n&&(n=!1);if(n&&kh[t])return kh[t];var r=window.getComputedStyle(e);if(null===r)return null;var o=Sh.reduce(function(e,t){return e[t]=r.getPropertyValue(t),e},{}),a=o["box-sizing"];if(""===a)return null;Oh&&"border-box"===a&&(o.width=parseFloat(o.width)+parseFloat(r["border-right-width"])+parseFloat(r["border-left-width"])+parseFloat(r["padding-right"])+parseFloat(r["padding-left"])+"px");var i=parseFloat(o["padding-bottom"])+parseFloat(o["padding-top"]),l=parseFloat(o["border-bottom-width"])+parseFloat(o["border-top-width"]),u={sizingStyle:o,paddingSize:i,borderSize:l,boxSizing:a};n&&(kh[t]=u);return u}(e,t,n);if(null===a)return null;var i=a.paddingSize,l=a.borderSize,u=a.boxSizing,s=a.sizingStyle;Object.keys(s).forEach(function(e){_h.style[e]=s[e]}),Ch(_h),_h.value=e.value||e.placeholder||"x";var c=-1/0,p=1/0,f=_h.scrollHeight;"border-box"===u?f+=l:"content-box"===u&&(f-=i),_h.value="x";var d=_h.scrollHeight-i,h=Math.floor(f/d);return null!==r&&(c=d*r,"border-box"===u&&(c=c+i+l),f=Math.max(c,f)),null!==o&&(p=d*o,"border-box"===u&&(p=p+i+l),f=Math.min(p,f)),{height:f,minHeight:c,maxHeight:p,rowCount:Math.floor(f/d),valueRowCount:h}}Ch(_h);var Ph=function(){},Th=0,Ah=function(e){function t(t){var n;return(n=e.call(this,t)||this)._onRef=function(e){n._ref=e;var t=n.props.inputRef;"function"!=typeof t?t.current=e:t(e)},n._onChange=function(e){n._controlled||n._resizeComponent(),n.props.onChange(e,F(F(n)))},n._resizeComponent=function(e){void 0===e&&(e=Ph);var t=jh(n._ref,n._uid,n.props.useCacheForDOMMeasurements,n.props.minRows,n.props.maxRows);if(null!==t){var r=t.height,o=t.minHeight,a=t.maxHeight,i=t.rowCount,l=t.valueRowCount;n.rowCount=i,n.valueRowCount=l,n.state.height===r&&n.state.minHeight===o&&n.state.maxHeight===a?e():n.setState({height:r,minHeight:o,maxHeight:a},e)}else e()},n.state={height:t.style&&t.style.height||0,minHeight:-1/0,maxHeight:1/0},n._uid=Th++,n._controlled=void 0!==t.value,n._resizeLock=!1,n}T(t,e);var n=t.prototype;return n.render=function(){var e=this.props,t=(e.inputRef,e.maxRows,e.minRows,e.onHeightChange,e.useCacheForDOMMeasurements,M(e,["inputRef","maxRows","minRows","onHeightChange","useCacheForDOMMeasurements"]));return t.style=L({},t.style,{height:this.state.height}),Math.max(t.style.maxHeight||1/0,this.state.maxHeight)<this.state.height&&(t.style.overflow="hidden"),k.a.createElement("textarea",L({},t,{onChange:this._onChange,ref:this._onRef}))},n.componentDidMount=function(){var e=this;this._resizeComponent(),this._resizeListener=function(){e._resizeLock||(e._resizeLock=!0,e._resizeComponent(function(){e._resizeLock=!1}))},window.addEventListener("resize",this._resizeListener)},n.componentDidUpdate=function(e,t){e!==this.props&&this._resizeComponent(),this.state.height!==t.height&&this.props.onHeightChange(this.state.height,this)},n.componentWillUnmount=function(){var e;window.removeEventListener("resize",this._resizeListener),e=this._uid,delete kh[e]},t}(k.a.Component);Ah.defaultProps={inputRef:Ph,onChange:Ph,onHeightChange:Ph,useCacheForDOMMeasurements:!1};var Rh=Ah,Dh=function(){return{type:Gn}},Nh=function(){return{type:qn}};n(148);function Ih(e){return(Ih="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Fh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Lh(e){return(Lh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Mh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Uh(e,t){return(Uh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Bh=function(e){function t(){var e,n,r,o,a,i,l;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var u=arguments.length,s=new Array(u),c=0;c<u;c++)s[c]=arguments[c];return r=this,o=(e=Lh(t)).call.apply(e,[this].concat(s)),n=!o||"object"!==Ih(o)&&"function"!=typeof o?Mh(r):o,a=Mh(n),l=function(){n.props.onClear()},(i="onClick")in a?Object.defineProperty(a,i,{value:l,enumerable:!0,configurable:!0,writable:!0}):a[i]=l,n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Uh(e,t)}(t,k.a.Component),n=t,(r=[{key:"componentDidUpdate",value:function(e){0===e.errors.length&&this.props.errors.length>0&&window.scrollTo(0,0)}},{key:"getDebug",value:function(e){for(var t=[Redirectioni10n.versions],n=0;n<e.length;n++){var r=e[n].request,o=void 0!==r&&r;t.push(""),t.push("Error: "+this.getErrorDetails(e[n])),o&&o.status&&o.statusText&&(t.push("Action: "+o.action),o.params&&t.push("Params: "+JSON.stringify(o.params)),t.push("Code: "+o.status+" "+o.statusText)),o&&t.push("Raw: "+(o.raw?o.raw:"-no data-"))}return t}},{key:"getErrorDetails",value:function(e){return 0===e.code?e.message:e.data&&e.data.wpdb?"".concat(e.message," (").concat(e.code,"): ").concat(e.data.wpdb):e.code?"".concat(e.message," (").concat(e.code,")"):e.message}},{key:"removeSameError",value:function(e){return e.filter(function(t,n){for(var r=n+1;n<e.length-1;n++){if(t.code&&e[r].code&&t.code===e[r].code)return!1;if(t.message&&e[r].message&&t.message===e[r].message)return!1}return!0})}},{key:"renderError",value:function(e){var t=this.removeSameError(e),n=this.getDebug(t),r="mailto:john@redirection.me?subject=Redirection%20Error&body="+encodeURIComponent(n.join("\n")),o="https://github.com/johngodley/redirection/issues/new?title=Redirection%20Error&body="+encodeURIComponent("```\n"+n.join("\n")+"\n```\n\n");return k.a.createElement("div",{className:"red-error"},k.a.createElement("div",{className:"closer",onClick:this.onClick},"✖"),k.a.createElement("h2",null,Object(j.translate)("Something went wrong 🙁")),k.a.createElement("div",{className:"red-error_title"},t.map(function(e,t){return k.a.createElement(Io,{error:e,key:t})})),k.a.createElement(na,null),k.a.createElement("h3",null,Object(j.translate)("What do I do next?")),k.a.createElement("ol",null,k.a.createElement("li",null,Object(j.translate)('Take a look at the {{link}}plugin status{{/link}}. It may be able to identify and "magic fix" the problem.',{components:{link:k.a.createElement("a",{href:"?page=redirection.php&sub=support"})}})),k.a.createElement("li",null,Object(j.translate)("{{link}}Caching software{{/link}}, in particular Cloudflare, can cache the wrong thing. Try clearing all your caches.",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/problems/cloudflare/"})}})),k.a.createElement("li",null,Object(j.translate)("{{link}}Please temporarily disable other plugins!{{/link}} This fixes so many problems.",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/problems/plugins/"})}}))),k.a.createElement("h3",null,Object(j.translate)("That didn't help")),k.a.createElement("p",null,Object(j.translate)("Please {{strong}}create an issue{{/strong}} or send it in an {{strong}}email{{/strong}}.",{components:{strong:k.a.createElement("strong",null)}})),k.a.createElement("p",null,k.a.createElement("a",{href:o,className:"button-primary"},Object(j.translate)("Create An Issue"))," ",k.a.createElement("a",{href:r,className:"button-secondary"},Object(j.translate)("Email"))),k.a.createElement("p",null,Object(j.translate)("Include these details in your report along with a description of what you were doing and a screenshot")),k.a.createElement("p",null,k.a.createElement(Rh,{readOnly:!0,cols:"120",value:n.join("\n"),spellCheck:!1})))}},{key:"render",value:function(){var e=this.props.errors;return 0===e.length?null:this.renderError(e)}}])&&Fh(n.prototype,r),o&&Fh(n,o),t}();var zh=ve(function(e){return{errors:e.message.errors}},function(e){return{onClear:function(){e(Dh())}}})(Bh);n(150);function Vh(e){return(Vh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Wh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Hh(e){return(Hh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Gh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qh(e,t){return(qh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $h(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Yh=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Hh(t).call(this,e),n=!o||"object"!==Vh(o)&&"function"!=typeof o?Gh(r):o,$h(Gh(n),"onClick",function(){n.state.shrunk?n.setState({shrunk:!1}):n.props.onClear()}),$h(Gh(n),"onShrink",function(){n.setState({shrunk:!0})}),n.state={shrunk:!1,width:"auto"},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&qh(e,t)}(t,k.a.Component),n=t,(r=[{key:"getSnapshotBeforeUpdate",value:function(e){return this.props.notices!==e.notices&&(this.stopTimer(),this.setState({shrunk:!1}),this.startTimer()),null}},{key:"componentWillUnmount",value:function(){this.stopTimer()}},{key:"stopTimer",value:function(){clearTimeout(this.timer)}},{key:"startTimer",value:function(){this.timer=setTimeout(this.onShrink,5e3)}},{key:"getNotice",value:function(e){return e.length>1?e[e.length-1]+" ("+e.length+")":e[0]}},{key:"renderNotice",value:function(e){var t="notice notice-info redirection-notice"+(this.state.shrunk?" redirection-notice_shrunk":"");return k.a.createElement("div",{className:t,onClick:this.onClick},k.a.createElement("div",{className:"closer"},"✔"),k.a.createElement("p",null,this.state.shrunk?k.a.createElement("span",{title:Object(j.translate)("View notice")},"🔔"):this.getNotice(e)))}},{key:"render",value:function(){var e=this.props.notices;return 0===e.length?null:this.renderNotice(e)}}])&&Wh(n.prototype,r),o&&Wh(n,o),t}();var Kh=ve(function(e){return{notices:e.message.notices}},function(e){return{onClear:function(){e(Nh())}}})(Yh);n(152);function Qh(e){return(Qh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Jh(e,t){return!t||"object"!==Qh(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Zh(e){return(Zh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function em(e,t){return(em=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var tm=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Jh(this,Zh(t).call(this,e))}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&em(e,t)}(t,k.a.Component),n=t,(r=[{key:"getMessage",value:function(e){return e>1?Object(j.translate)("Saving...")+" ("+e+")":Object(j.translate)("Saving...")}},{key:"renderProgress",value:function(e){return k.a.createElement("div",{className:"notice notice-progress redirection-notice"},k.a.createElement(ko,null),k.a.createElement("p",null,this.getMessage(e)))}},{key:"render",value:function(){var e=this.props.inProgress;return 0===e?null:this.renderProgress(e)}}])&&Xh(n.prototype,r),o&&Xh(n,o),t}();var nm=ve(function(e){return{inProgress:e.message.inProgress}},null)(tm),rm=function(e){var t=e.item,n=e.isCurrent,r=e.onClick,o=Redirectioni10n.pluginRoot+(""===t.value?"":"&sub="+t.value);return k.a.createElement("li",null,k.a.createElement("a",{className:n?"current":"",href:o,onClick:function(e){e.preventDefault(),r(t.value,o)}},t.name))},om=(n(154),function(e){var t=e.onChangePage,n=it();return k.a.createElement("div",{className:"subsubsub-container"},k.a.createElement("ul",{className:"subsubsub"},[{name:Object(j.translate)("Redirects"),value:""},{name:Object(j.translate)("Groups"),value:"groups"},{name:Object(j.translate)("Log"),value:"log"},{name:Object(j.translate)("404s"),value:"404s"},{name:Object(j.translate)("Import/Export"),value:"io"},{name:Object(j.translate)("Options"),value:"options"},{name:Object(j.translate)("Support"),value:"support"}].map(function(e,r){return k.a.createElement(rm,{key:r,item:e,isCurrent:n===e.value||"redirect"===n&&""===e.value,onClick:t})}).reduce(function(e,t){return[e," | ",t]})))}),am=n(23),im=n.n(am),lm=n(34),um=n.n(lm),sm=n(21),cm=n.n(sm),pm=n(11),fm=n.n(pm),dm=n(22),hm=n.n(dm),mm=function(e){return function(e){function t(){return cm()(this,t),fm()(this,e.apply(this,arguments))}return hm()(t,e),t.prototype.componentDidUpdate=function(){var e=this,t=Date.now(),n=!1;Object.keys(this.paths).forEach(function(r){var o=e.paths[r];if(o){n=!0;var a=o.style;a.transitionDuration=".3s, .3s, .3s, .06s",e.prevTimeStamp&&t-e.prevTimeStamp<100&&(a.transitionDuration="0s, 0s")}}),n&&(this.prevTimeStamp=Date.now())},t.prototype.render=function(){return e.prototype.render.call(this)},t}(e)},gm={className:"",percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,style:{},trailColor:"#D9D9D9",trailWidth:1},bm=R.a.oneOfType([R.a.number,R.a.string]),ym={className:R.a.string,percent:R.a.oneOfType([bm,R.a.arrayOf(bm)]),prefixCls:R.a.string,strokeColor:R.a.oneOfType([R.a.string,R.a.arrayOf(R.a.string)]),strokeLinecap:R.a.oneOf(["butt","round","square"]),strokeWidth:bm,style:R.a.object,trailColor:R.a.string,trailWidth:bm},vm=function(e){function t(){var n,r,o;cm()(this,t);for(var a=arguments.length,i=Array(a),l=0;l<a;l++)i[l]=arguments[l];return n=r=fm()(this,e.call.apply(e,[this].concat(i))),r.paths={},o=n,fm()(r,o)}return hm()(t,e),t.prototype.render=function(){var e=this,t=this.props,n=t.className,r=t.percent,o=t.prefixCls,a=t.strokeColor,i=t.strokeLinecap,l=t.strokeWidth,u=t.style,s=t.trailColor,c=t.trailWidth,p=um()(t,["className","percent","prefixCls","strokeColor","strokeLinecap","strokeWidth","style","trailColor","trailWidth"]);delete p.gapPosition;var f=Array.isArray(r)?r:[r],d=Array.isArray(a)?a:[a],h=l/2,m="M "+("round"===i?h:0)+","+h+"\n L "+("round"===i?100-l/2:100)+","+h,g="0 0 100 "+l,b=0;return k.a.createElement("svg",im()({className:o+"-line "+n,viewBox:g,preserveAspectRatio:"none",style:u},p),k.a.createElement("path",{className:o+"-line-trail",d:m,strokeLinecap:i,stroke:s,strokeWidth:c||l,fillOpacity:"0"}),f.map(function(t,n){var r={strokeDasharray:t+"px, 100px",strokeDashoffset:"-"+b+"px",transition:"stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear"},a=d[n]||d[d.length-1];return b+=t,k.a.createElement("path",{key:n,className:o+"-line-path",d:m,strokeLinecap:i,stroke:a,strokeWidth:l,fillOpacity:"0",ref:function(t){e.paths[n]=t},style:r})}))},t}(S.Component);vm.propTypes=ym,vm.defaultProps=gm;var Em=mm(vm),wm=function(e){function t(){var n,r,o;cm()(this,t);for(var a=arguments.length,i=Array(a),l=0;l<a;l++)i[l]=arguments[l];return n=r=fm()(this,e.call.apply(e,[this].concat(i))),r.paths={},o=n,fm()(r,o)}return hm()(t,e),t.prototype.getPathStyles=function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=50-r/2,i=0,l=-a,u=0,s=-2*a;switch(arguments[5]){case"left":i=-a,l=0,u=2*a,s=0;break;case"right":i=a,l=0,u=-2*a,s=0;break;case"bottom":l=a,s=2*a}var c="M 50,50 m "+i+","+l+"\n a "+a+","+a+" 0 1 1 "+u+","+-s+"\n a "+a+","+a+" 0 1 1 "+-u+","+s,p=2*Math.PI*a;return{pathString:c,pathStyle:{stroke:n,strokeDasharray:t/100*(p-o)+"px "+p+"px",strokeDashoffset:"-"+(o/2+e/100*(p-o))+"px",transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s"}}},t.prototype.getStokeList=function(){var e=this,t=this.props,n=t.prefixCls,r=t.percent,o=t.strokeColor,a=t.strokeWidth,i=t.strokeLinecap,l=t.gapDegree,u=t.gapPosition,s=Array.isArray(r)?r:[r],c=Array.isArray(o)?o:[o],p=0;return s.map(function(t,r){var o=c[r]||c[c.length-1],s=e.getPathStyles(p,t,o,a,l,u),f=s.pathString,d=s.pathStyle;return p+=t,k.a.createElement("path",{key:r,className:n+"-circle-path",d:f,strokeLinecap:i,strokeWidth:0===t?0:a,fillOpacity:"0",style:d,ref:function(t){e.paths[r]=t}})})},t.prototype.render=function(){var e=this.props,t=e.prefixCls,n=e.strokeWidth,r=e.trailWidth,o=e.gapDegree,a=e.gapPosition,i=e.trailColor,l=e.strokeLinecap,u=e.style,s=e.className,c=um()(e,["prefixCls","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className"]),p=this.getPathStyles(0,100,i,n,o,a),f=p.pathString,d=p.pathStyle;return delete c.percent,delete c.strokeColor,k.a.createElement("svg",im()({className:t+"-circle "+s,viewBox:"0 0 100 100",style:u},c),k.a.createElement("path",{className:t+"-circle-trail",d:f,stroke:i,strokeLinecap:l,strokeWidth:r||n,fillOpacity:"0",style:d}),this.getStokeList())},t}(S.Component);wm.propTypes=im()({},ym,{gapPosition:R.a.oneOf(["top","bottom","left","right"])}),wm.defaultProps=im()({},gm,{gapPosition:"top"});mm(wm);function Om(e){return(Om="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function xm(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Sm(e){return(Sm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function km(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _m(e,t){return(_m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Cm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var jm=function(e){function t(){var e,n,r,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var a=arguments.length,i=new Array(a),l=0;l<a;l++)i[l]=arguments[l];return r=this,o=(e=Sm(t)).call.apply(e,[this].concat(i)),n=!o||"object"!==Om(o)&&"function"!=typeof o?km(r):o,Cm(km(n),"onWarning",function(e){return e.returnValue=n.props.message,e.returnValue}),n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_m(e,t)}(t,k.a.Component),n=t,(r=[{key:"componentDidMount",value:function(){this.props.prevent&&this.enable()}},{key:"componentWillUnmount",value:function(){this.props.prevent&&this.disable()}},{key:"componentDidUpdate",value:function(e){e.prevent!==this.props.prevent&&(this.props.prevent?this.enable():this.disable())}},{key:"enable",value:function(){window.addEventListener("beforeunload",this.onWarning)}},{key:"disable",value:function(){window.removeEventListener("beforeunload",this.onWarning)}},{key:"render",value:function(){return null}}])&&xm(n.prototype,r),o&&xm(n,o),t}();Cm(jm,"defaultProps",{prevent:!0});var Pm=jm;n(193);function Tm(e){return(Tm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Am(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Rm(e){return(Rm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Dm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nm(e,t){return(Nm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Im(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Fm=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Rm(t).call(this,e),n=!o||"object"!==Tm(o)&&"function"!=typeof o?Dm(r):o,Im(Dm(n),"onRetry",function(e){e.preventDefault(),n.props.onUpgrade()}),Im(Dm(n),"onSkip",function(e){e.preventDefault(),n.props.onUpgrade("skip")}),Im(Dm(n),"onStop",function(e){e.preventDefault(),n.props.onUpgrade("stop")}),Im(Dm(n),"onFinish",function(e){e.preventDefault(),n.props.onFinished&&n.props.onFinished(),n.props.onFinish()}),n.hasWork(e)&&e.onUpgrade(),n.state={looped:!1},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Nm(e,t)}(t,k.a.Component),n=t,(r=[{key:"hasWork",value:function(e){var t=e.status;return"error"!==e.result&&("need-install"===t||"need-update"===t)}},{key:"hasFinished",value:function(e){return"finish-install"===e||"finish-update"===e}},{key:"componentDidUpdate",value:function(e){var t=this;e.time!==this.props.time&&this.hasWork(this.props)&&(e.complete===this.props.complete&&"error"!==this.props.status?this.setState({looped:!0}):setTimeout(function(){t.props.onUpgrade()},1e3))}},{key:"getErrorMessage",value:function(){var e=this.props,t=e.debug,n=void 0===t?[]:t;return["Message: "+e.reason,"Installed: "+e.current,"Next: "+e.next,"Debug:\n\n"+n.join("\n")].join("\n")}},{key:"renderLoopError",value:function(){return this.renderError("Something has gone wrong with the upgrade")}},{key:"renderError",value:function(e){var t=this.props.current,n=this.getErrorMessage();return k.a.createElement("div",{className:"redirection-database_error red-error"},k.a.createElement("h3",null,Object(j.translate)("Database problem")),k.a.createElement("p",null,e),k.a.createElement("p",null,k.a.createElement("button",{className:"button button-primary",onClick:this.onRetry},Object(j.translate)("Try again"))," ","-"!==t&&k.a.createElement("button",{className:"button button-secondary",onClick:this.onSkip},Object(j.translate)("Skip this stage"))," ","-"!==t&&k.a.createElement("button",{className:"button button-secondary",onClick:this.onStop},Object(j.translate)("Stop upgrade"))),k.a.createElement("p",null,Object(j.translate)("If you want to {{support}}ask for support{{/support}} please include these details:",{components:{support:k.a.createElement("a",{href:"mailto:john@redirection.me?subject=Redirection%20Database&body="+encodeURIComponent("Redirection: "+Redirectioni10n.versions)})}})),k.a.createElement("textarea",{value:n,rows:"15",readOnly:!0}))}},{key:"renderIntro",value:function(){return this.hasWork(this.props)?k.a.createElement("p",null,Object(j.translate)("Please remain on this page until complete.")):null}},{key:"getTitle",value:function(){return"need-update"===this.props.status?Object(j.translate)("Upgrading Redirection"):Object(j.translate)("Setting up Redirection")}},{key:"render",value:function(){var e=this.props,t=e.status,n=e.complete,r=void 0===n?0:n,o=e.reason,a=e.result,i=this.state.looped,l="ok"===a&&!this.hasFinished(t)&&!i;return k.a.createElement("div",{className:"redirection-database"},k.a.createElement(Pm,{message:Object(j.translate)("Leaving before the process has completed may cause problems."),prevent:"error"!==a&&a!==ze}),k.a.createElement("h1",null,this.getTitle()),"error"!==a&&this.renderIntro(),k.a.createElement("div",{className:"redirection-database_progress"},k.a.createElement("h3",null,Object(j.translate)("Progress: %(complete)d%%",{args:{complete:r}})),k.a.createElement(Em,{percent:r,strokeWidth:"4",trailWidth:"4",strokeLinecap:"square"}),o&&"ok"===a&&k.a.createElement("p",null,o),l&&k.a.createElement("div",{className:"redirection-database_spinner"},k.a.createElement(ko,null)),"error"===a&&this.renderError(o),i&&this.renderLoopError(),this.hasFinished(t)&&k.a.createElement("button",{className:"button button-primary",onClick:this.onFinish},Object(j.translate)("Finished! 🎉"))))}}])&&Am(n.prototype,r),o&&Am(n,o),t}();var Lm=ve(function(e){var t=e.settings.database,n=t.status,r=t.complete;return{status:n,result:t.result,complete:r,reason:t.reason,debug:t.debug,time:t.time,current:t.current,next:t.next}},function(e){return{onUpgrade:function(t){e(xr(t))},onFinish:function(){e(Sr())}}})(Fm);n(195);function Mm(e){return(Mm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Um(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Bm(e){return(Bm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function zm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Vm(e,t){return(Vm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Wm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Hm=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Bm(t).call(this,e),n=!o||"object"!==Mm(o)&&"function"!=typeof o?zm(r):o,Wm(zm(n),"nextStep",function(e){e.preventDefault(),n.setState({step:n.state.step+1})}),Wm(zm(n),"prevStep",function(e){e.preventDefault(),n.setState({step:n.state.step-1})}),Wm(zm(n),"finishSetup",function(e){var t=n.getFirstApi();Redirectioni10n.api.routes[t]&&wt(Redirectioni10n.api.routes[t]),e.preventDefault(),n.setState({step:3})}),Wm(zm(n),"onChange",function(e){var t=Wm({},e.target.name,e.target.checked);"log"!==e.target.name||e.target.checked||(t.ip=!1),n.setState(t)}),Wm(zm(n),"afterFinishInstall",function(){var e=n.state,t=e.ip,r=e.log,o=e.monitor;n.props.onSaveSettings({expire_redirect:r?7:-1,expire_404:r?7:-1,ip_logging:t?1:0,rest_api:n.getFirstApi(),monitor_types:o?["post","page"]:void 0,monitor_post:o?1:0})}),n.state={step:0,monitor:!1,log:!1,ip:!1},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Vm(e,t)}(t,k.a.Component),n=t,(r=[{key:"getFirstApi",value:function(){for(var e=this.props.apiTest,t=Object.keys(e),n=0;n<t.length;n++)if(e[n]&&"ok"===e[n].GET.status&&"ok"===e[n].POST.status)return n;return 0}},{key:"renderStep0",value:function(){return k.a.createElement(k.a.Fragment,null,k.a.createElement("h2",null,Object(j.translate)("Welcome to Redirection 🚀🎉")),k.a.createElement("p",null,Object(j.translate)("Thank you for installing and using Redirection v%(version)s. This plugin will allow you to manage 301 redirections, keep track of 404 errors, and improve your site, with no knowledge of Apache or Nginx needed.",{args:{version:Redirectioni10n.version}})),k.a.createElement("p",null,Object(j.translate)("Redirection is designed to be used on sites with a few redirects to sites with thousands of redirects.")),k.a.createElement("h3",null,Object(j.translate)("How do I use this plugin?")),k.a.createElement("p",null,Object(j.translate)("A simple redirect involves setting a {{strong}}source URL{{/strong}} (the old URL) and a {{strong}}target URL{{/strong}} (the new URL). Here's an example:",{components:{strong:k.a.createElement("strong",null)}})),k.a.createElement("table",{className:"edit edit-redirection"},k.a.createElement("tbody",null,k.a.createElement("tr",null,k.a.createElement("th",null,Object(j.translate)("Source URL"),":"),k.a.createElement("td",null,k.a.createElement("input",{type:"text",readOnly:!0,value:Object(j.translate)("(Example) The source URL is your old or original URL")}))),k.a.createElement("tr",null,k.a.createElement("th",null,Object(j.translate)("Target URL"),":"),k.a.createElement("td",null,k.a.createElement("input",{type:"text",readOnly:!0,value:Object(j.translate)("(Example) The target URL is the new URL")}))))),k.a.createElement("p",null,Object(j.translate)("That's all there is to it - you are now redirecting! Note that the above is just an example - you can now enter a redirect.")),k.a.createElement("p",null,Object(j.translate)("Full documentation can be found on the {{link}}Redirection website.{{/link}}",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/"})}})),k.a.createElement("h3",null,Object(j.translate)("Some features you may find useful are"),":"),k.a.createElement("ul",null,k.a.createElement("li",null,Object(j.translate)("{{link}}Monitor 404 errors{{/link}}, get detailed information about the visitor, and fix any problems",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/tracking-404-errors/"})}})),k.a.createElement("li",null,Object(j.translate)("{{link}}Import{{/link}} from .htaccess, CSV, and a variety of other plugins",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/import-export-redirects/"})}})),k.a.createElement("li",null,Object(j.translate)("More powerful URL matching, including {{regular}}regular expressions{{/regular}}, and {{other}}other conditions{{/other}}",{components:{regular:k.a.createElement(Ar,{url:"https://redirection.me/support/redirect-regular-expressions/"}),other:k.a.createElement(Ar,{url:"https://redirection.me/support/matching-redirects/"})}})),k.a.createElement("li",null,Object(j.translate)("Check a URL is being redirected"))),k.a.createElement("h3",null,Object(j.translate)("What's next?")),k.a.createElement("p",null,Object(j.translate)("First you will be asked a few questions, and then Redirection will set up your database.")),k.a.createElement("p",null,Object(j.translate)("When ready please press the button to continue.")),k.a.createElement("div",{className:"wizard-buttons"},k.a.createElement("button",{className:"button-primary button",onClick:this.nextStep},Object(j.translate)("Start Setup"))))}},{key:"renderStep1",value:function(){var e=this.state,t=e.monitor,n=e.log,r=e.ip;return k.a.createElement(k.a.Fragment,null,k.a.createElement("h2",null,Object(j.translate)("Basic Setup")),k.a.createElement("p",null,Object(j.translate)("These are some options you may want to enable now. They can be changed at any time.")),k.a.createElement("div",{className:"wizard-option"},k.a.createElement("p",null,k.a.createElement("label",null,k.a.createElement("input",{name:"monitor",type:"checkbox",checked:t,onChange:this.onChange})," ",Object(j.translate)("Monitor permalink changes in WordPress posts and pages"),".")),k.a.createElement("p",null,Object(j.translate)("If you change the permalink in a post or page then Redirection can automatically create a redirect for you.")," ",Object(j.translate)("{{link}}Read more about this.{{/link}}",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/options/#monitor"})}}))),k.a.createElement("div",{className:"wizard-option"},k.a.createElement("p",null,k.a.createElement("label",null,k.a.createElement("input",{name:"log",type:"checkbox",checked:n,onChange:this.onChange})," ",Object(j.translate)("Keep a log of all redirects and 404 errors."))),k.a.createElement("p",null,Object(j.translate)("Storing logs for redirects and 404s will allow you to see what is happening on your site. This will increase your database storage requirements.")," ",Object(j.translate)("{{link}}Read more about this.{{/link}}",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/logs/"})}}))),k.a.createElement("div",{className:n?"wizard-option":"wizard-option wizard-option_disabled"},k.a.createElement("p",null,k.a.createElement("label",null,k.a.createElement("input",{name:"ip",type:"checkbox",disabled:!n,checked:r,onChange:this.onChange})," ",Object(j.translate)("Store IP information for redirects and 404 errors."))),k.a.createElement("p",null,Object(j.translate)("Storing the IP address allows you to perform additional log actions. Note that you will need to adhere to local laws regarding the collection of data (for example GDPR).")," ",Object(j.translate)("{{link}}Read more about this.{{/link}}",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/privacy-gdpr/"})}}))),k.a.createElement("div",{className:"wizard-buttons"},k.a.createElement("button",{className:"button-primary button",onClick:this.nextStep},Object(j.translate)("Continue Setup")),"  ",k.a.createElement("button",{className:"button",onClick:this.prevStep},Object(j.translate)("Go back"))))}},{key:"renderStep2",value:function(){var e=ci.parse(Et()),t=ci.parse(Redirectioni10n.pluginBaseUrl),n=e.protocol!==t.protocol||e.host!==t.host;return k.a.createElement(k.a.Fragment,null,k.a.createElement("h2",null,Object(j.translate)("REST API")),k.a.createElement("p",null,Object(j.translate)("Redirection uses the {{link}}WordPress REST API{{/link}} to communicate with WordPress. This is enabled and working by default. Sometimes the REST API is blocked by:",{components:{link:k.a.createElement(Ar,{url:"https://developer.wordpress.org/rest-api/"})}})),k.a.createElement("ul",null,k.a.createElement("li",null,Object(j.translate)("A security plugin (e.g Wordfence)")),k.a.createElement("li",null,Object(j.translate)("A server firewall or other server configuration (e.g OVH)")),k.a.createElement("li",null,Object(j.translate)("Caching software (e.g Cloudflare)")),k.a.createElement("li",null,Object(j.translate)("Some other plugin that blocks the REST API"))),k.a.createElement("p",null,Object(j.translate)("If you do experience a problem then please consult your plugin documentation, or try contacting your host support. This is generally {{link}}not a problem caused by Redirection{{/link}}.",{components:{link:k.a.createElement(Ar,{url:"https://redirection.me/support/problems/rest-api/"})}})),n&&k.a.createElement("div",{className:"red-error"},Object(j.translate)("You have different URLs configured on your WordPress Settings > General page, which is usually an indication of a misconfiguration, and it can cause problems with the REST API. Please review your settings."),k.a.createElement("p",null,k.a.createElement("code",null,e.protocol+"//"+e.host)),k.a.createElement("p",null,k.a.createElement("code",null,t.protocol+"//"+t.host))),k.a.createElement(na,{allowChange:!1}),k.a.createElement("p",null,Object(j.translate)("You will need at least one working REST API to continue.")),k.a.createElement("div",{className:"wizard-buttons"},k.a.createElement("button",{className:"button-primary button",onClick:this.finishSetup},Object(j.translate)("Finish Setup")),"  ",k.a.createElement("button",{className:"button",onClick:this.prevStep},Object(j.translate)("Go back"))))}},{key:"renderStep3",value:function(){return k.a.createElement(Lm,{onFinished:this.afterFinishInstall})}},{key:"getContentForStep",value:function(e){return 3===e?this.renderStep3():2===e?this.renderStep2():1===e?this.renderStep1():this.renderStep0()}},{key:"render",value:function(){var e=this.state.step,t=this.props.result,n=this.getContentForStep(e);return k.a.createElement(k.a.Fragment,null,t===ze&&k.a.createElement(zh,null),k.a.createElement("div",{className:"wizard-wrapper"},0!==e&&3!==e&&k.a.createElement("h1",null,Object(j.translate)("Redirection")),k.a.createElement("div",{className:"wizard"},n)),k.a.createElement("div",{className:"wizard-support"},k.a.createElement(Ar,{url:"https://redirection.me/contact/"},Object(j.translate)("I need support!"))))}}])&&Um(n.prototype,r),o&&Um(n,o),t}();var Gm=ve(function(e){return{result:e.settings.database.result,apiTest:e.settings.apiTest}},function(e){return{onSaveSettings:function(t){e(yr(t))}}})(Hm);function qm(e){return(qm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function $m(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ym(e){return(Ym=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Km(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Qm(e,t){return(Qm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Xm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Jm=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=Ym(t).call(this,e),n=!o||"object"!==qm(o)&&"function"!=typeof o?Km(r):o,Xm(Km(n),"onToggle",function(e){e.preventDefault(),n.setState({showManual:!n.state.showManual})}),Xm(Km(n),"onComplete",function(){n.props.onComplete(Redirectioni10n.database.next)}),n.state={showManual:!1},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Qm(e,t)}(t,k.a.Component),n=t,(r=[{key:"renderManual",value:function(){return k.a.createElement(k.a.Fragment,null,k.a.createElement("p",null,Object(j.translate)('If your site needs special database permissions, or you would rather do it yourself, you can manually run the following SQL. Click "Complete Upgrade" when finished.')),k.a.createElement("p",null,k.a.createElement(Rh,{readOnly:!0,cols:"120",value:Redirectioni10n.database.manual.join(";\n")+";",spellCheck:!1})),k.a.createElement("p",null,k.a.createElement("button",{className:"button-primary",onClick:this.onComplete},Object(j.translate)("Complete Upgrade"))))}},{key:"renderStandard",value:function(){var e=this.props.onShowUpgrade;return k.a.createElement(k.a.Fragment,null,k.a.createElement("p",null,Object(j.translate)('Click the "Upgrade Database" button to automatically upgrade the database.')),k.a.createElement("p",null,k.a.createElement("input",{className:"button-primary",type:"submit",value:Object(j.translate)("Upgrade Database"),onClick:e})))}},{key:"render",value:function(){var e,t=this.props,n=t.showDatabase,r=t.result,o=this.state.showManual;return n?k.a.createElement(k.a.Fragment,null,r===ze&&k.a.createElement(zh,null),k.a.createElement("div",{className:"wizard-wrapper"},k.a.createElement("div",{className:"wizard"},k.a.createElement(Lm,null)))):k.a.createElement("div",{className:"wrap redirection"},k.a.createElement("h1",{className:"wp-heading-inline"},Object(j.translate)("Upgrade Required")),k.a.createElement("div",{className:"red-error"},k.a.createElement("h3",null,Object(j.translate)("Redirection database needs upgrading")),(e=Redirectioni10n.database).current===e.next?k.a.createElement("p",null,Object(j.translate)("A database upgrade is in progress. Please continue to finish.")):k.a.createElement(k.a.Fragment,null,k.a.createElement("p",null,Object(j.translate)("Redirection stores data in your database and sometimes this needs upgrading. Your database is at version {{strong}}%(current)s{{/strong}} and the latest is {{strong}}%(latest)s{{/strong}}.",{args:{current:Redirectioni10n.database.current,latest:Redirectioni10n.database.next},components:{strong:k.a.createElement("strong",null)}}))),k.a.createElement("p",null,Object(j.translate)("Please make a backup of your Redirection data: {{download}}downloading a backup{{/download}}. If you experience any issues you can import this back into Redirection.",{components:{download:k.a.createElement(Ar,{url:vd("all","json")}),import:k.a.createElement(Ar,{url:"https://redirection.me/support/import-export-redirects/"})}})),o&&this.renderManual(),!o&&this.renderStandard()),k.a.createElement("div",{className:"database-switch"},!o&&k.a.createElement("a",{href:"#",onClick:this.onToggle},Object(j.translate)("Manual Upgrade")),o&&k.a.createElement("a",{href:"#",onClick:this.onToggle},Object(j.translate)("Automatic Upgrade"))))}}])&&$m(n.prototype,r),o&&$m(n,o),t}();var Zm=ve(null,function(e){return{onComplete:function(t){e(wr("database",t))}}})(Jm);n(197);function eg(e){return(eg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tg(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ng(e){return(ng=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function rg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function og(e,t){return(og=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ag(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ig=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=ng(t).call(this,e),n=!o||"object"!==eg(o)&&"function"!=typeof o?rg(r):o,ag(rg(n),"onPageChanged",function(){var e=it();n.changePage(e),n.setState({page:e,clicked:n.state.clicked+1})}),ag(rg(n),"onChangePage",function(e,t){var r=n.props.errors;""===e&&(e="redirect"),"support"===e&&r.length>0?document.location.href=t:(n.props.onClear(),history.pushState({},null,t),n.changePage(e),n.setState({page:e,clicked:n.state.clicked+1}))}),ag(rg(n),"onAdd",function(e){e.preventDefault(),n.props.onAdd()}),ag(rg(n),"onShowUpgrade",function(e){e.preventDefault(),n.props.onShowUpgrade()}),n.state={page:it(),clicked:0,stack:!1,error:"4.2.3"!==Redirectioni10n.version,info:!1},window.addEventListener("popstate",n.onPageChanged),n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&og(e,t)}(t,k.a.Component),n=t,(r=[{key:"componentDidCatch",value:function(e,t){this.setState({error:!0,stack:e,info:t})}},{key:"componentWillUnmount",value:function(){window.removeEventListener("popstate",this.onPageChanged)}},{key:"changePage",value:function(e){var t=this.props,n=t.onSet404Table,r=t.onSetLogTable,o=t.onSetRedirectTable,a=t.onSetGroupTable;"404s"===e?n(hr().table):"log"===e?r(dr().table):"redirect"===e?o(gr().table):"groups"===e&&a(mr().table)}},{key:"getContent",value:function(e){var t=this.state.clicked;switch(e){case"support":return k.a.createElement(wa,null);case"404s":return k.a.createElement(Tf,{key:t});case"log":return k.a.createElement(al,{key:t});case"io":return k.a.createElement(Pd,null);case"groups":return k.a.createElement(Jd,{key:t});case"options":return k.a.createElement(vo,null)}return k.a.createElement(wh,{key:t})}},{key:"renderError",value:function(){var e=[Redirectioni10n.versions,"Buster: 4.2.3 === "+Redirectioni10n.version,"",this.state.stack];return this.state.info&&this.state.info.componentStack&&e.push(this.state.info.componentStack),"4.2.3"!==Redirectioni10n.version?k.a.createElement("div",{className:"red-error"},k.a.createElement("h2",null,Object(j.translate)("Cached Redirection detected")),k.a.createElement("p",null,Object(j.translate)("Please clear your browser cache and reload this page.")),k.a.createElement("p",null,Object(j.translate)("If you are using a caching system such as Cloudflare then please read this: "),k.a.createElement(Ar,{url:"https://redirection.me/support/problems/cloudflare/?utm_source=redirection&utm_medium=plugin&utm_campaign=support"},Object(j.translate)("clearing your cache."))),k.a.createElement("p",null,k.a.createElement("textarea",{readOnly:!0,rows:e.length+3,cols:"120",value:e.join("\n"),spellCheck:!1}))):k.a.createElement("div",{className:"red-error"},k.a.createElement("h2",null,Object(j.translate)("Something went wrong 🙁")),k.a.createElement("p",null,Object(j.translate)("Redirection is not working. Try clearing your browser cache and reloading this page."),"  ",Object(j.translate)("If you are using a page caching plugin or service (CloudFlare, OVH, etc) then you can also try clearing that cache.")),k.a.createElement("p",null,Object(j.translate)("If that doesn't help, open your browser's error console and create a {{link}}new issue{{/link}} with the details.",{components:{link:k.a.createElement(Ar,{url:"https://github.com/johngodley/redirection/issues"})}})),k.a.createElement("p",null,Object(j.translate)("Please mention {{code}}%s{{/code}}, and explain what you were doing at the time",{components:{code:k.a.createElement("code",null)},args:this.state.page})),k.a.createElement("p",null,k.a.createElement("textarea",{readOnly:!0,rows:e.length+8,cols:"120",value:e.join("\n"),spellCheck:!1})))}},{key:"render",value:function(){var e=this.state,t=e.error,n=e.page,r=this.props,o=r.databaseStatus,a=r.showDatabase,i=r.result,l={redirect:Object(j.translate)("Redirections"),groups:Object(j.translate)("Groups"),io:Object(j.translate)("Import/Export"),log:Object(j.translate)("Logs"),"404s":Object(j.translate)("404 errors"),options:Object(j.translate)("Options"),support:Object(j.translate)("Support")}[n];return t?this.renderError():"need-install"===o||"finish-install"===o?k.a.createElement(Gm,null):"need-update"===o||"finish-update"===o?k.a.createElement(Zm,{onShowUpgrade:this.props.onShowUpgrade,showDatabase:a,result:i}):k.a.createElement("div",{className:"wrap redirection"},k.a.createElement("h1",{className:"wp-heading-inline"},l),"redirect"===n&&k.a.createElement("a",{href:"#",onClick:this.onAdd,className:"page-title-action"},Object(j.translate)("Add New")),k.a.createElement(om,{onChangePage:this.onChangePage}),k.a.createElement(zh,null),this.getContent(n),k.a.createElement(nm,null),k.a.createElement(Kh,null))}}])&&tg(n.prototype,r),o&&tg(n,o),t}();var lg,ug=ve(function(e){var t=e.message.errors,n=e.settings.showDatabase,r=e.settings.database;return{errors:t,showDatabase:n,databaseStatus:r.status,result:r.result}},function(e){return{onClear:function(){e(Dh())},onAdd:function(){e(vp(!0))},onSet404Table:function(t){e(Pl(t))},onSetLogTable:function(t){e(ki(t))},onSetGroupTable:function(t){e(wf(t))},onSetRedirectTable:function(t){e(Ep(t))},onShowUpgrade:function(){e(Or())}}})(ig),sg=Object(Ee.hot)(function(){return k.a.createElement(I,{store:pr({settings:fr(),log:dr(),error:hr(),io:{status:Be,file:!1,lastImport:!1,exportData:!1,importingStatus:!1,exportStatus:!1,importers:[]},group:mr(),redirect:gr(),message:{errors:[],notices:[],inProgress:0,saving:[]},info:{status:Ve,maps:{},agents:{},http:!1,error:""}})},k.a.createElement(ug,null))});document.querySelector("#react-ui")&&(lg="react-ui",P.a.setLocale({"":{localeSlug:Redirectioni10n.localeSlug}}),P.a.addTranslations(Redirectioni10n.locale),C.a.render(k.a.createElement(sg,null),document.getElementById(lg))),window.redirection=Redirectioni10n.version}]);
redirection.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Redirection
4
  Plugin URI: https://redirection.me/
5
  Description: Manage all your 301 redirects and monitor 404 errors
6
- Version: 4.2.2
7
  Author: John Godley
8
  Author URI: https://johngodley.com
9
  Text Domain: redirection
3
  Plugin Name: Redirection
4
  Plugin URI: https://redirection.me/
5
  Description: Manage all your 301 redirects and monitor 404 errors
6
+ Version: 4.2.3
7
  Author: John Godley
8
  Author URI: https://johngodley.com
9
  Text Domain: redirection