<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://acesseredes.com.br/cabo-fiber-lan-sm-ar-02-fibras-furukawa-p752</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/cabo-fiber-lan-ar-mm-50-2-fibras-furukawa-p753</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/extensao-optica-monofibra-mm-50-sc-apc-15-m-p754</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/cabo-optico-cfot-sm-eo-02f-riser-p755</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/cabo-telefonico-cci-50-x-100-pares-p756</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/35510259-lw-modem-optico-gpon-fk-ont-g400b-poe-s2-p757</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/caixa-ont-sobrepor-30-x-30-x12-c-chave-p758</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/kit-bandeja-emenda-stack-48f-p759</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/kit-bandeja-emenda-stack-12f-p760</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/cabo-telefonico-cci-cm-50-x-50-p761</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/camera-ip-wv-sf438-360-fisheye-31mp-audio-bi-direc-p762</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/cordao-optico-monofibra-sm-bli-sc-apc-apc-lw-bli-a-b-g-657-lszh-branco-15m-33006399-p763</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/extensao-optica-conectorizada-1f-sm-bli-sc-ap-lw-bli-a-b-g-657a-cog-branco-d09-35260195-p764</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/cabo-telefonico-ctp-apl-50-x-30-pares-p765</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/cabo-telefonico-cci-cm-50-x-30-p766</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/cabo-telefonico-cci-40-x-20-pares-p767</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/cabo-telefonico-cci-40-x-2-pares-p768</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/cabo-telefonico-cci-50-x-20-pares-p769</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/unidut-conico-1-p770</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/kit-adaptadores-opticos-01f-sm-sc-p771</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/lampada-led-philips-110-220v-t8-18w-12m-i850-lumen-p772</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/fita-borracha-autofusao-19mm-x-10m-3m-p773</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/fio-jumper-24-awg-1-metro-p774</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/arruela-lisa-5-16-x-13-16-p775</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/box-aluminio-curvo-1-p776</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/box-aluminio-reto-o-1-1-2-p777</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/box-aluminio-reto-3-4-p778</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/fita-bap-n-2-p779</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/fita-perfurada-largura-1-2-furo-1-4-p780</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/kit-ancoragem-de-cabo-dio-b48-p781</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/kit-bandeja-de-emenda-p-dio-a270-b48-12f-p782</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/kit-rodizio-com-4-rodas-2-com-travas-e-2-sem-trava-p783</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/luva-pvc-lisa-cinza-top-1-p784</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/luva-pvc-lisa-cinza-classe-a-1-p785</loc>
  </url>
  <url>
    <loc>https://acesseredes.com.br/luva-pvc-lisa-preta-1-2-p786</loc>
  </url>
</urlset><script>
(function() {
  var cacheKey = 'wdna_csrf_token';
  var csrfReady = null;

  function getCurrentToken() {
    if (window.WDNA_CSRF_TOKEN) {
      return window.WDNA_CSRF_TOKEN;
    }

    var meta = document.querySelector('meta[name="csrf-token"]');
    if (meta && meta.getAttribute('content')) {
      return meta.getAttribute('content');
    }

    var input = document.querySelector('input[name="_csrf"]');
    if (input && input.value) {
      return input.value;
    }

    return '';
  }

  function applyCsrfToken(token) {
    if (!token) return;

    window.WDNA_CSRF_TOKEN = token;

    var meta = document.querySelector('meta[name="csrf-token"]');
    if (meta) {
      meta.setAttribute('content', token);
    }

    var inputs = document.querySelectorAll('input[name="_csrf"]');
    for (var i = 0; i < inputs.length; i++) {
      inputs[i].setAttribute('value', token);
      inputs[i].value = token;
    }
  }

function patchBodyWithCsrf(body, token) {
  if (!token || !body) return body;

  try {
    if (window.FormData && body instanceof FormData) {
      if (!body.has('_csrf')) {
        body.append('_csrf', token);
      }
      return body;
    }

    if (window.URLSearchParams && body instanceof URLSearchParams) {
      if (!body.has('_csrf')) {
        body.append('_csrf', token);
      }
      return body;
    }

    if (typeof body === 'string') {
      var trimmed = body.trim();

      // Não mexe em JSON. Algumas rotas quebram se adicionarmos campo extra.
      if (trimmed.charAt(0) === '{' || trimmed.charAt(0) === '[') {
        return body;
      }

      if (body.indexOf('_csrf=') === -1) {
        if (body.length > 0) {
          return body + '&_csrf=' + encodeURIComponent(token);
        }

        return '_csrf=' + encodeURIComponent(token);
      }
    }
  } catch (e) {}

  return body;
}

  function loadFreshCsrf() {
    if (csrfReady) return csrfReady;

    var cached = null;

    try {
      cached = JSON.parse(sessionStorage.getItem(cacheKey) || 'null');
    } catch (e) {}

    if (cached && cached.token && cached.expires > Date.now()) {
      applyCsrfToken(cached.token);
      csrfReady = Promise.resolve(cached.token);
      return csrfReady;
    }

    csrfReady = fetch('/__csrf_refresh', {
      method: 'GET',
      credentials: 'same-origin',
      cache: 'no-store'
    })
      .then(function(response) {
        return response.json();
      })
      .then(function(data) {
        if (data && data.csrfToken) {
          applyCsrfToken(data.csrfToken);

          try {
            sessionStorage.setItem(cacheKey, JSON.stringify({
              token: data.csrfToken,
              expires: Date.now() + 60000
            }));
          } catch (e) {}

          return data.csrfToken;
        }

        return '';
      })
      .catch(function() {
        return '';
      });

    return csrfReady;
  }

  function isUnsafeMethod(method) {
    return !/^(GET|HEAD|OPTIONS)$/i.test(method || 'GET');
  }

  if (window.fetch && !window.__WDNA_CSRF_FETCH_PATCHED__) {
    window.__WDNA_CSRF_FETCH_PATCHED__ = true;

    var originalFetch = window.fetch;

    window.fetch = function(input, init) {
      init = init || {};

      var method = (init.method || 'GET').toUpperCase();

      try {
        if (input && typeof input === 'object' && input.method && !init.method) {
          method = input.method.toUpperCase();
        }
      } catch (e) {}

      if (!isUnsafeMethod(method)) {
        return originalFetch.call(this, input, init);
      }

      return loadFreshCsrf().then(function(token) {
        token = token || getCurrentToken();

        if (token) {
          init.headers = new Headers(init.headers || {});

          if (!init.headers.has('x-csrf-token')) init.headers.set('x-csrf-token', token);
          if (!init.headers.has('x-xsrf-token')) init.headers.set('x-xsrf-token', token);
          if (!init.headers.has('csrf-token')) init.headers.set('csrf-token', token);
          if (!init.headers.has('x-csrf')) init.headers.set('x-csrf', token);

          if (init.body) {
            init.body = patchBodyWithCsrf(init.body, token);
          }
        }

        return originalFetch.call(this, input, init);
      });
    };
  }

  if (window.XMLHttpRequest && !window.__WDNA_CSRF_XHR_PATCHED__) {
    window.__WDNA_CSRF_XHR_PATCHED__ = true;

    var originalOpen = XMLHttpRequest.prototype.open;
    var originalSend = XMLHttpRequest.prototype.send;

    XMLHttpRequest.prototype.open = function(method, url) {
      this.__wdna_method = method || 'GET';
      return originalOpen.apply(this, arguments);
    };

    XMLHttpRequest.prototype.send = function(body) {
      var xhr = this;
      var method = (xhr.__wdna_method || 'GET').toUpperCase();

      if (!isUnsafeMethod(method)) {
        return originalSend.apply(xhr, arguments);
      }

      var args = arguments;

      loadFreshCsrf().then(function(token) {
        token = token || getCurrentToken();

        if (token) {
          try {
            xhr.setRequestHeader('x-csrf-token', token);
            xhr.setRequestHeader('x-xsrf-token', token);
            xhr.setRequestHeader('csrf-token', token);
            xhr.setRequestHeader('x-csrf', token);
          } catch (e) {}

          if (args && args.length > 0 && args[0]) {
            args[0] = patchBodyWithCsrf(args[0], token);
          }
        }

        return originalSend.apply(xhr, args);
      });
    };
  }

  loadFreshCsrf();
})();
</script>
