{
    "status":200,
    "data":[
        {
            "id":3807,
            "label":"Nome do app",
            "name":"APP_NAME",
            "value": "ℹ️ 1.1",
            "type":"STRING",
            "status":"INACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3808,
            "label":"Logo do app",
            "name":"APP_LOGO",
            "value":"https://i.imgur.com/DfpItDx.pn",
            "type":"IMAGE",
            "status":"INACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3809,
            "label":"Imagem de fundo",
            "name":"APP_BACKGROUND_IMAGE",
            "value":"https://i.imgur.com/RK2Vkfa.jpg",
            "type":"IMAGE",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3810,
            "label":"Tipo do fundo do app",
            "name":"APP_BACKGROUND_TYPE",
            "value":{
                "options":[
                    {
                        "label":"Imagem",
                        "value":"IMAGE"
                    },
                    {
                        "label":"Cor",
                        "value":"COLOR"
                    }
                ],
                "selected":"IMAGE"
            },
            "type":"SELECT",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3811,
            "label":"Cor de fundo",
            "name":"APP_BACKGROUND_COLOR",
            "value":"#ffb7b7ff",
            "type":"COLOR",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3812,
            "label":"Cor do card inicial",
            "name":"APP_CARD_COLOR",
            "value":"#00000070",
            "type":"COLOR",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3813,
            "label":"Cor do card de configurações",
            "name":"APP_CARD_CONFIG_COLOR",
            "value":"#0000005b",
            "type":"COLOR",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3814,
            "label":"Cor do fundo dos dialogs",
            "name":"APP_DIALOG_BACKGROUND_COLOR",
            "value":"#70C0C0C0",
            "type":"COLOR",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3815,
            "label":"Cor das bordas",
            "name":"APP_BORDER_COLOR",
            "value":"#ffffff",
            "type":"COLOR",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3816,
            "label":"Cor dos textos",
            "name":"APP_TEXT_COLOR",
            "value":"#FFFFFFFF",
            "type":"COLOR",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3817,
            "label":"Cor dos botões",
            "name":"APP_BUTTON_COLOR",
            "value":"#00ffff70",
            "type":"COLOR",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3818,
            "label":"Cor dos icones",
            "name":"APP_ICON_COLOR",
            "value":"#00ffff70",
            "type":"COLOR",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3819,
            "label":"Exibir modo de conexão",
            "name":"APP_SHOW_CONNECTION_MODE",
            "value":true,
            "type":"BOOLEAN",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":4922,
            "label":"Iniciar o app automaticamente ao reiniciar o dispositivo",
            "name":"APP_AUTO_START",
            "value":false,
            "type":"BOOLEAN",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3820,
            "label":"Mensagem",
            "name":"APP_MESSAGE",
            "value":null,
            "type":"TEXT",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3821,
            "label":"Tipo de mensagem",
            "name":"APP_MESSAGE_TYPE",
            "value":{
                "options":[
                    {
                        "label":"Alerta",
                        "value":"ALERT"
                    },
                    {
                        "label":"Informação",
                        "value":"INFO"
                    },
                    {
                        "label":"Boas vindas",
                        "value":"WELCOME"
                    },
                    {
                        "label":"Sem mensagem",
                        "value":"NONE"
                    }
                ],
                "selected":"ALERT"
            },
            "type":"SELECT",
            "status":"ACTIVE",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3823,
            "label":"ANDROID WEBVIEW (POR SUA CONTA E RISCO)",
            "name":"APP_SUPPORT_BUTTON",
            "value":"<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>5172750168 - @gvnet1</title>

    <style>
      :root {
        font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
        line-height: 1.5;
        font-weight: 400;
        font-synthesis: none;
        text-rendering: optimizeLegibility;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-size-adjust: 100%;
        -webkit-text-size-adjust: 100%;

        --space-status-bar: 10px;
        --space-nav-bar: 33px;
      }

      @-webkit-keyframes onePulse {
        0% {
          box-shadow: 0px 0px 4px 0px rgba(255, 255, 255, 0.5);
        }
        50% {
          box-shadow: 0px 0px 4px 8px rgba(255, 255, 255, 0.1);
        }
        100% {
          box-shadow: 0px 0px 4px 4px rgba(255, 255, 255, 0.5);
        }
      }

      @keyframes onePulse {
        0% {
          box-shadow: 0px 0px 4px 0px rgba(255, 255, 255, 0.5);
        }
        50% {
          box-shadow: 0px 0px 4px 8px rgba(255, 255, 255, 0.1);
        }
        100% {
          box-shadow: 0px 0px 4px 4px rgba(255, 255, 255, 0.5);
        }
      }

      *,
      *::before,
      *::after {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }

      html,
      body,
      main {
        width: 100%;
        height: 100%;
      }

      body {
        background: transparent;
      }

      main {
        max-width: 650px;

        display: flex;
        flex-direction: column;
        justify-content: space-between;

        margin: 0 auto 0 auto;
        padding: var(--space-status-bar) 10px var(--space-nav-bar) 10px;
      }

      section.top {
        width: 100%;
        height: auto;

        display: flex;
        align-items: center;
      }

      section.top button {
        margin-left: auto;
        padding: 3.5%;

        display: flex;
        align-items: center;
        justify-content: center;
        gap: 7px;

        border: 0;
        border-radius: 10px;

        background: #000000;
      }

      section.top button svg {
        color: #ffffff;
      }

      section.top button span {
        color: #ffffff;
        font-weight: 500;
        font-size: 0.7rem;
      }

      section.bottom {
        width: 100%;
        height: auto;
        /* background: blue; */

        display: flex;
        flex-direction: column;
        align-items: center;
      }

      section.bottom div.container-local-ip {
        width: auto;
        height: auto;

        display: flex;
        align-items: center;

        padding: 10px 15px;

        border-radius: 10px;

        background: #000000;

        transition: all 0.3s ease 0.1s;
      }

      section.bottom div.container-local-ip span {
        width: 100%;
        height: auto;

        color: #ffffff;
        font-weight: 500;
        font-size: 0.8rem;
      }

      section.bottom div.container-tools {
        width: 100%;
        height: auto;

        display: flex;
        justify-content: center;

        position: relative;
      }

      section.bottom div.container-tools button {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;

        margin: 7% 0px 0px 0px;
        padding: 10px 6%;

        border: 0;
        border-radius: 10px;

        box-shadow: 0px 0px 4px 0px rgba(255, 255, 255, 0.5);

        transition: all linear;

        background: #000000;
      }

      section.bottom div.container-tools button svg {
        color: #ffffff;
      }

      section.bottom div.container-tools button span {
        color: #ffffff;
      }

      section.bottom div.container-tools ul {
        width: auto;
        min-width: 90%;
        max-width: 300px;
        height: 55px;

        display: flex;
        align-items: center;
        justify-content: space-around;
        gap: 5px;

        position: absolute;
        bottom: 90%;

        padding: 0 5px;

        border-radius: 50px;
        box-shadow: 0px 0px 4px 0px rgba(255, 255, 255, 0.5);

        opacity: 0;
        transform: scale(0);
        transform-origin: bottom center;

        transition: all 0.3s ease 0.1s;

        background: rgba(3, 169, 244, 0.2);
      }

      section.bottom div.container-tools ul li {
        width: 40px;
        height: 40px;

        display: flex;
        justify-content: center;
        align-items: center;

        border: 1px solid #ffffff;
        border-radius: 50%;

        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);

        background: rgba(0, 0, 0, 0.5);
      }

      section.bottom div.container-tools ul li svg {
        color: #ffffff;
      }

      section.bottom div.container-tools.active button {
        -webkit-animation: onePulse 0.6s forwards linear;
        animation: onePulse 0.6s forwards linear;
      }

      section.bottom div.container-tools.active ul {
        opacity: 1;
        transform: scale(1);
      }

      .hidden {
        opacity: 0;
        visibility: hidden;
      }

      .display-none {
        display: none;
      }
    </style>
  </head>
  <body>
    <main>
      <section class="top">
        <button type="button">
          <svg
            xmlns="http://www.w3.org/2000/svg"
            width="16"
            height="16"
            fill="currentColor"
            class="bi bi-git"
            viewBox="0 0 16 16"
          >
            <path
              d="M15.698 7.287 8.712.302a1.03 1.03 0 0 0-1.457 0l-1.45 1.45 1.84 1.84a1.223 1.223 0 0 1 1.55 1.56l1.773 1.774a1.224 1.224 0 0 1 1.267 2.025 1.226 1.226 0 0 1-2.002-1.334L8.58 5.963v4.353a1.226 1.226 0 1 1-1.008-.036V5.887a1.226 1.226 0 0 1-.666-1.608L5.093 2.465l-4.79 4.79a1.03 1.03 0 0 0 0 1.457l6.986 6.986a1.03 1.03 0 0 0 1.457 0l6.953-6.953a1.031 1.031 0 0 0 0-1.457"
            />
          </svg>

          <span id="version-value">Buscando versão...</span>
        </button>
      </section>

      <section class="bottom">
        <div class="container-local-ip">
          <span id="local-ip">Procurando IP...</span>
        </div>

        <div class="container-tools">
          <button type="button" title="Ferramentas">
            <svg
              xmlns="http://www.w3.org/2000/svg"
              width="16"
              height="16"
              fill="currentColor"
              class="bi bi-nut"
              viewBox="0 0 16 16"
            >
              <path
                d="m11.42 2 3.428 6-3.428 6H4.58L1.152 8 4.58 2h6.84zM4.58 1a1 1 0 0 0-.868.504l-3.428 6a1 1 0 0 0 0 .992l3.428 6A1 1 0 0 0 4.58 15h6.84a1 1 0 0 0 .868-.504l3.429-6a1 1 0 0 0 0-.992l-3.429-6A1 1 0 0 0 11.42 1H4.58z"
              />
              <path
                d="M6.848 5.933a2.5 2.5 0 1 0 2.5 4.33 2.5 2.5 0 0 0-2.5-4.33zm-1.78 3.915a3.5 3.5 0 1 1 6.061-3.5 3.5 3.5 0 0 1-6.062 3.5z"
              />
            </svg>

            <span>Ferramentas</span>
          </button>

          <ul>
            <li id="checkuser">
              <svg
                xmlns="http://www.w3.org/2000/svg"
                width="16"
                height="16"
                fill="currentColor"
                class="bi bi-calendar2-week"
                viewBox="0 0 16 16"
              >
                <path
                  d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1H2z"
                />
                <path
                  d="M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5V4zM11 7.5a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm-5 3a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1zm3 0a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-1a.5.5 0 0 1-.5-.5v-1z"
                />
              </svg>
            </li>

            <li id="battery">
              <svg
                xmlns="http://www.w3.org/2000/svg"
                width="16"
                height="16"
                fill="currentColor"
                class="bi bi-battery-half"
                viewBox="0 0 16 16"
              >
                <path d="M2 6h5v4H2V6z" />
                <path
                  d="M2 4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H2zm10 1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h10zm4 3a1.5 1.5 0 0 1-1.5 1.5v-3A1.5 1.5 0 0 1 16 8z"
                />
              </svg>
            </li>

            <li id="apn">
              <svg
                xmlns="http://www.w3.org/2000/svg"
                width="16"
                height="16"
                fill="currentColor"
                class="bi bi-wrench-adjustable-circle"
                viewBox="0 0 16 16"
              >
                <path
                  d="M12.496 8a4.491 4.491 0 0 1-1.703 3.526L9.497 8.5l2.959-1.11c.027.2.04.403.04.61Z"
                />
                <path
                  d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0Zm-1 0a7 7 0 1 0-13.202 3.249l1.988-1.657a4.5 4.5 0 0 1 7.537-4.623L7.497 6.5l1 2.5 1.333 3.11c-.56.251-1.18.39-1.833.39a4.49 4.49 0 0 1-1.592-.29L4.747 14.2A7 7 0 0 0 15 8Zm-8.295.139a.25.25 0 0 0-.288-.376l-1.5.5.159.474.808-.27-.595.894a.25.25 0 0 0 .287.376l.808-.27-.595.894a.25.25 0 0 0 .287.376l1.5-.5-.159-.474-.808.27.596-.894a.25.25 0 0 0-.288-.376l-.808.27.596-.894Z"
                />
              </svg>
            </li>

            <li id="clean">
              <svg
                xmlns="http://www.w3.org/2000/svg"
                width="16"
                height="16"
                fill="currentColor"
                class="bi bi-trash3"
                viewBox="0 0 16 16"
              >
                <path
                  d="M6.5 1h3a.5.5 0 0 1 .5.5v1H6v-1a.5.5 0 0 1 .5-.5ZM11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3A1.5 1.5 0 0 0 5 1.5v1H2.506a.58.58 0 0 0-.01 0H1.5a.5.5 0 0 0 0 1h.538l.853 10.66A2 2 0 0 0 4.885 16h6.23a2 2 0 0 0 1.994-1.84l.853-10.66h.538a.5.5 0 0 0 0-1h-.995a.59.59 0 0 0-.01 0H11Zm1.958 1-.846 10.58a1 1 0 0 1-.997.92h-6.23a1 1 0 0 1-.997-.92L3.042 3.5h9.916Zm-7.487 1a.5.5 0 0 1 .528.47l.5 8.5a.5.5 0 0 1-.998.06L5 5.03a.5.5 0 0 1 .47-.53Zm5.058 0a.5.5 0 0 1 .47.53l-.5 8.5a.5.5 0 1 1-.998-.06l.5-8.5a.5.5 0 0 1 .528-.47ZM8 4.5a.5.5 0 0 1 .5.5v8.5a.5.5 0 0 1-1 0V5a.5.5 0 0 1 .5-.5Z"
                />
              </svg>
            </li>

            <li id="speedtest">
              <svg
                xmlns="http://www.w3.org/2000/svg"
                width="16"
                height="16"
                fill="currentColor"
                class="bi bi-speedometer2"
                viewBox="0 0 16 16"
              >
                <path
                  d="M8 4a.5.5 0 0 1 .5.5V6a.5.5 0 0 1-1 0V4.5A.5.5 0 0 1 8 4zM3.732 5.732a.5.5 0 0 1 .707 0l.915.914a.5.5 0 1 1-.708.708l-.914-.915a.5.5 0 0 1 0-.707zM2 10a.5.5 0 0 1 .5-.5h1.586a.5.5 0 0 1 0 1H2.5A.5.5 0 0 1 2 10zm9.5 0a.5.5 0 0 1 .5-.5h1.5a.5.5 0 0 1 0 1H12a.5.5 0 0 1-.5-.5zm.754-4.246a.389.389 0 0 0-.527-.02L7.547 9.31a.91.91 0 1 0 1.302 1.258l3.434-4.297a.389.389 0 0 0-.029-.518z"
                />
                <path
                  fill-rule="evenodd"
                  d="M0 10a8 8 0 1 1 15.547 2.661c-.442 1.253-1.845 1.602-2.932 1.25C11.309 13.488 9.475 13 8 13c-1.474 0-3.31.488-4.615.911-1.087.352-2.49.003-2.932-1.25A7.988 7.988 0 0 1 0 10zm8-7a7 7 0 0 0-6.603 9.329c.203.575.923.876 1.68.63C4.397 12.533 6.358 12 8 12s3.604.532 4.923.96c.757.245 1.477-.056 1.68-.631A7 7 0 0 0 8 3z"
                />
              </svg>
            </li>
          </ul>
        </div>
      </section>
    </main>

    <!-- FUNÇÕES DO APP -->
    <script>
      const appStatusBar = () => DtGetStatusBarHeight.execute()
      const appNavBar = () => DtGetNavigationBarHeight.execute()

      const appLocalIp = () => Android.getLocalIP()

      const appBattery = () => DtIgnoreBatteryOptimizations.execute()
      const appApn = () => DtStartApnActivity.execute()
      const appLink = (value) => DtStartWebViewActivity.execute(value)
      const appOpenBrowser = (url) => DtOpenExternalUrl.execute(url)
      const appClean = () => DtCleanApp.execute()
      const appCheckUser = () => DtStartCheckUser.execute()
      const appGetConfigVersion = () =>
        DtGetLocalConfigVersion.execute() ?? "1.0"
    </script>

    <!-- DOM WRAPPER -->
    <script>
      const Dom = (selector) => {
        const _elements = document.querySelectorAll(selector)

        const wrapper = {
          on(listeners) {
            for (const [event, listener] of Object.entries(listeners)) {
              _elements.forEach((element) => {
                element.addEventListener(event, listener)
              })
            }

            return wrapper
          },
          toggleClass: (token, force) => {
            _elements.forEach((element) => {
              element.classList.toggle(token, force)
            })

            return wrapper
          },
          html(value) {
            _elements.forEach((element) => (element.innerHTML = value))
            return wrapper
          },
        }

        return wrapper
      }
    </script>

    <!-- VÁRIAVEIS -->
    <script>
      const version = Dom("#version-value")
      const containerLocalIp = Dom("section.bottom div.container-local-ip")
      const localIp = Dom("#local-ip")

      const containerTools = Dom("section.bottom div.container-tools")
      const toolsButton = Dom("section.bottom div.container-tools button")
      const tools = Dom("section.bottom div.container-tools ul")

      const checkuser = Dom("#checkuser")
      const battery = Dom("#battery")
      const apn = Dom("#apn")
      const CleanDataApp = Dom("#clean")
      const speedtest = Dom("#speedtest")
    </script>

    <!-- FUNÇÕES -->
    <script>
      document.documentElement.style.setProperty(
        "--space-status-bar",
        `${appStatusBar() + 10}px`
      )

      document.documentElement.style.setProperty(
        "--space-nav-bar",
        `${appNavBar() + 10}px`
      )

      const toggleTools = () => {
        containerLocalIp.toggleClass("hidden")
        containerTools.toggleClass("active")
      }

      const carrierLocalIp = () => {
        setInterval(() => {
          const carrierLocalIp = appLocalIp()

          if (!carrierLocalIp) {
            localIp.html("Procurando IP...")
          } else if (carrierLocalIp === "127.0.0.1") {
            localIp.html("NO IP")
          } else {
            localIp.html(`${carrierLocalIp}`)
          }
        }, 500)
      }
      const configVersion = () => {
        setInterval(() => {
          const getAtualVersion = appGetConfigVersion()

          version.html(`VERSÃO: ${getAtualVersion}`)
        }, 1000)
      }

      carrierLocalIp()
      configVersion()
    </script>

    <!-- AÇÕES -->
    <script>
      toolsButton.on({ click: () => toggleTools() })

      checkuser.on({ click: () => appCheckUser() })
      battery.on({ click: () => appBattery() })
      apn.on({ click: () => appApn() })
      CleanDataApp.on({ click: () => appClean() })
      speedtest.on({ click: () => appLink("https://speed.cloudflare.com/") })
    </script>
  </body>
</html>
",
            "type":"HTML",
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        },
        {
            "id":3824,
            "label":"PAGINA WEBVIEW (POR SUA CONTA E RISCO)",
            "name":"APP_WEB_VIEW",
            "type":"HTML",
            "value":null,
            "user_id":"83615944-f09e-4f34-8cc6-96cc5fd99133"
        }
    ]
}